StringBuffer Class Methods
1. Core Idea (beginner)
All methods edit SAME object (return this for chaining!). No new garbage like String. Master 6: append, insert, delete, reverse, replace, capacity/length.
2. Code — One Object, Many Edits (watch it morph!)
StringBuffer sb = new StringBuffer("hello");
sb.append("!"); // hello! (add end)
sb.insert(5, " world"); // hello world! (insert at 5!)
sb.delete(5, 11); // hello! (delete 5 to 10!)
sb.replace(0, 5, "bye"); // bye! (replace 0-4!)
sb.reverse(); // !eyb (flip!)
System.out.println(sb); // !eyb
System.out.println(sb.length() + "/" + sb.capacity()); // 4/21
sb.setLength(0); // clear! (empty, capacity kept!)
Chaining (returns same!): sb.append("a").append("b").reverse();
3. Method Table (exam!)
| Method | Job | Example → Result |
|---|---|---|
append(x) |
add end | "hi".append("!") → hi! |
insert(i,x) |
insert at i | "hlo".insert(1,"el") → hello |
delete(a,b) |
cut a to b-1 | "hello".delete(1,4) → ho |
reverse() |
flip | "abc".reverse() → cba |
replace(a,b,s) |
swap range | "hello".replace(1,4,"ipp") → hippo |
setCharAt(i,c) |
single change | "hit".setCharAt(1,'e') → het |
4. Traps
delete(5,11)end EXCLUDED (like substring!).toString()to get String:String s = sb.toString();(needed for.equalscontent compare!).capacity()≠length()(room vs used!).
5. Exam Points
- 6 methods with output — 7 marks, very frequent.
- Chaining + delete-range trap — 3-5 marks, frequent.