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

Kurssisisältö

Java Basics

Java Basics

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.

Tehtävä

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.

Ratkaisu

java

solution

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 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.

Tehtävä

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.

Ratkaisu

java

solution

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 6
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt