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

Course Content

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.

Task

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.

Solution

java

solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 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.

Task

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.

Solution

java

solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 6
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt