Cursusinhoud
Java Basics (unit tests)
Java Basics (unit tests)
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.
Main
StringBuilder builder = new StringBuilder();
Inside the parentheses, we can also pass a string value, and our StringBuilder
variable will hold that value:
Main
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:
Main
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:
Main
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.
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
.
- Create a method called
buildProductList(String[][] products)
that returns a formattedString
. - Initialize a
StringBuilder
and append the header:
"Product List:\n"
- Loop through the
products
array using a for-each loop. - 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
- Extract the name (
- Return the full
String
from theStringBuilder
.
Oplossing
solution
Bedankt voor je feedback!
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.
Main
StringBuilder builder = new StringBuilder();
Inside the parentheses, we can also pass a string value, and our StringBuilder
variable will hold that value:
Main
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:
Main
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:
Main
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.
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
.
- Create a method called
buildProductList(String[][] products)
that returns a formattedString
. - Initialize a
StringBuilder
and append the header:
"Product List:\n"
- Loop through the
products
array using a for-each loop. - 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
- Extract the name (
- Return the full
String
from theStringBuilder
.
Oplossing
solution
Bedankt voor je feedback!