A String is an object that holds a sequence of characters. It is immutable, meaning once created, it cannot be changed.
Click to reveal answer
beginner
What does immutable mean for a String?
Immutable means the String's content cannot be changed after it is created. Any modification creates a new String object.
Click to reveal answer
beginner
What is a StringBuilder in Java?
StringBuilder is a class used to create mutable sequences of characters. It allows you to change the content without creating new objects.
Click to reveal answer
intermediate
Why use StringBuilder instead of String for many changes?
Because StringBuilder can change its content without making new objects, it is faster and uses less memory when you do many modifications.
Click to reveal answer
beginner
How do you convert a StringBuilder back to a String?
Use the toString() method of StringBuilder to get a String with the current content.
Click to reveal answer
Which of the following is immutable in Java?
AStringBuffer
BStringBuilder
CString
DStringBuilder and StringBuffer
✗ Incorrect
String objects cannot be changed after creation, so they are immutable.
Which class is best for building a string with many changes efficiently?
AStringBuilder
BString
CInteger
DCharacter
✗ Incorrect
StringBuilder allows efficient modifications without creating new objects.
What method converts a StringBuilder to a String?
AtoString()
BtoCharArray()
CtoStringBuilder()
DtoStringBuilderString()
✗ Incorrect
The toString() method returns the current content as a String.
If you add characters to a String, what happens internally?
AThe original String changes
BThe StringBuilder is updated
CThe String becomes mutable
DA new String object is created
✗ Incorrect
Strings are immutable, so adding characters creates a new String object.
Which is true about StringBuilder?
AIt is slower than String for many changes
BIt is mutable and faster for many changes
CIt cannot be converted to String
DIt is immutable
✗ Incorrect
StringBuilder is mutable and designed for efficient string modifications.
Explain the difference between String and StringBuilder in Java.
Think about how each handles changes to text.
You got /4 concepts.
When should you choose StringBuilder over String?
Consider efficiency when changing strings repeatedly.
You got /3 concepts.
Practice
(1/5)
1. Which statement best describes when to use StringBuilder instead of String in Java?
easy
A. Use StringBuilder when you need to change text many times efficiently.
B. Use StringBuilder for fixed text that never changes.
C. Use String when you want faster text modifications.
D. Use String to save memory when changing text repeatedly.
Solution
Step 1: Understand the nature of String and StringBuilder
String objects are immutable, meaning they cannot be changed once created. Changing text creates new objects, which is slow and uses more memory.
Step 2: Identify when StringBuilder is better
StringBuilder allows changing text without creating new objects, making it efficient for many modifications.
Final Answer:
Use StringBuilder when you need to change text many times efficiently. -> Option A
Quick Check:
Many changes = StringBuilder [OK]
Hint: Use StringBuilder for many text changes, String for fixed text [OK]
Common Mistakes:
Thinking String is better for many changes
Confusing immutability of String
Assuming StringBuilder uses more memory always
2. Which of the following is the correct way to create a StringBuilder object with initial text "Hello"?
easy
A. StringBuilder sb = StringBuilder("Hello");
B. StringBuilder sb = "Hello";
C. StringBuilder sb = new StringBuilder[] {"Hello"};
D. StringBuilder sb = new StringBuilder("Hello");
Solution
Step 1: Recall the correct constructor syntax for StringBuilder
The StringBuilder class requires the new keyword and parentheses with the initial string inside.
Step 2: Check each option for syntax correctness
StringBuilder sb = new StringBuilder("Hello"); uses new StringBuilder("Hello"), which is correct. Options A, B, and D have syntax errors or wrong usage.
Final Answer:
StringBuilder sb = new StringBuilder("Hello"); -> Option D
Quick Check:
Use new + constructor for StringBuilder [OK]
Hint: Always use 'new StringBuilder("text")' to create StringBuilder [OK]
Common Mistakes:
Omitting 'new' keyword
Using assignment without constructor
Using array syntax mistakenly
3. What is the output of this Java code?
StringBuilder sb = new StringBuilder("Hi");
sb.append("!");
sb.append(" How are you?");
System.out.println(sb.toString());
medium
A. Hi!How are you?
B. Hi How are you?
C. Hi! How are you?
D. Hi
Solution
Step 1: Understand what append() does on StringBuilder
Each append() adds the given text to the end of the current StringBuilder content without spaces unless explicitly added.
Step 2: Trace the code execution
Initial text is "Hi". First append adds "!" making "Hi!". Second append adds " How are you?" (with leading space), resulting in "Hi! How are you?".
Final Answer:
Hi! How are you? -> Option C
Quick Check:
Appends add text exactly as given [OK]
Hint: Append adds text exactly; watch spaces carefully [OK]
Common Mistakes:
Ignoring spaces in appended strings
Assuming append replaces text
Printing StringBuilder object directly without toString()