Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer StringBuilder | String
Java Basics (unit tests)
course content

Cursusinhoud

Java Basics (unit tests)

Java Basics (unit tests)

1. Getting Started
2. Basic Types and Operations
3. Loops
4. Arrays
5. String

book
StringBuilder

What is StringBuilder?

StringBuilder is a utility class for manipulating and editing string objects.

StringBuilder provides its own methods, and creating a StringBuilder object is straightforward and intuitive.

java

Main

copy
1
StringBuilder builder = new StringBuilder();

Inside the parentheses, we can also pass a string value, and our StringBuilder variable will hold that value:

java

Main

copy
1
StringBuilder builder = new StringBuilder("c<>definity");

To print our value to the console, we need to use one of the StringBuilder methods. It's the toString() method, which converts the value of the StringBuilder to a String type value. Let's look at an example:

java

Main

copy
123456789
package com.example; public class Main { public static void main(String[] args) { StringBuilder builder = new StringBuilder("c<>definity"); String string = builder.toString(); System.out.println(string); } }

StringBuilder in action

StringBuilder provides a rich set of methods, with one of the most valuable and frequently used being append(String str). This method allows us to add a specified string to the existing content of a StringBuilder object.

Let's examine a code example:

java

Main

copy
12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { // Initializing the new `String` with value "Hello" String hello = "Hello"; System.out.println("Our string before using an append() method: " + hello); // Initializing a new `StringBuilder` with value of our already initialized string StringBuilder builder = new StringBuilder(hello); // Using `append()` method, adding a string world to our `StringBuilder` builder = builder.append(" world!"); // Creating a new `String` variable that has a `StringBuilder` value String result = builder.toString(); System.out.println("Our string after using an append() method: " + result); } }

Why not use the + operator?

The main reason we prefer StringBuilder's append method is that it minimizes the creation of temporary objects, improving performance when modifying content multiple times. Every time you use the + operator, a new object is created, which can be costly in terms of memory and time. StringBuilder directly modifies the content, making it much more efficient for repeated modifications.

Taak

Swipe to start coding

You're building a product display for a webpage. Each product has a name and a price, and they are stored in a 2D array.
You need to format the entire list into a nicely structured string using a StringBuilder.

  1. Create a method called buildProductList(String[][] products) that returns a formatted String.
  2. Initialize a StringBuilder and append the header:
    "Product List:\n"
  3. Loop through the products array using a for-each loop.
  4. For each product:
    • Extract the name (product[0])
    • Extract the price (product[1])
    • Append a line to the StringBuilder in the format:
      ProductName - $Price\n
  5. Return the full String from the StringBuilder.

Oplossing

java

solution

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 6
toggle bottom row

book
StringBuilder

What is StringBuilder?

StringBuilder is a utility class for manipulating and editing string objects.

StringBuilder provides its own methods, and creating a StringBuilder object is straightforward and intuitive.

java

Main

copy
1
StringBuilder builder = new StringBuilder();

Inside the parentheses, we can also pass a string value, and our StringBuilder variable will hold that value:

java

Main

copy
1
StringBuilder builder = new StringBuilder("c<>definity");

To print our value to the console, we need to use one of the StringBuilder methods. It's the toString() method, which converts the value of the StringBuilder to a String type value. Let's look at an example:

java

Main

copy
123456789
package com.example; public class Main { public static void main(String[] args) { StringBuilder builder = new StringBuilder("c<>definity"); String string = builder.toString(); System.out.println(string); } }

StringBuilder in action

StringBuilder provides a rich set of methods, with one of the most valuable and frequently used being append(String str). This method allows us to add a specified string to the existing content of a StringBuilder object.

Let's examine a code example:

java

Main

copy
12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { // Initializing the new `String` with value "Hello" String hello = "Hello"; System.out.println("Our string before using an append() method: " + hello); // Initializing a new `StringBuilder` with value of our already initialized string StringBuilder builder = new StringBuilder(hello); // Using `append()` method, adding a string world to our `StringBuilder` builder = builder.append(" world!"); // Creating a new `String` variable that has a `StringBuilder` value String result = builder.toString(); System.out.println("Our string after using an append() method: " + result); } }

Why not use the + operator?

The main reason we prefer StringBuilder's append method is that it minimizes the creation of temporary objects, improving performance when modifying content multiple times. Every time you use the + operator, a new object is created, which can be costly in terms of memory and time. StringBuilder directly modifies the content, making it much more efficient for repeated modifications.

Taak

Swipe to start coding

You're building a product display for a webpage. Each product has a name and a price, and they are stored in a 2D array.
You need to format the entire list into a nicely structured string using a StringBuilder.

  1. Create a method called buildProductList(String[][] products) that returns a formatted String.
  2. Initialize a StringBuilder and append the header:
    "Product List:\n"
  3. Loop through the products array using a for-each loop.
  4. For each product:
    • Extract the name (product[0])
    • Extract the price (product[1])
    • Append a line to the StringBuilder in the format:
      ProductName - $Price\n
  5. Return the full String from the StringBuilder.

Oplossing

java

solution

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 6
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt