Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 864 Bytes

20. String Buffer and Builder.md

File metadata and controls

42 lines (30 loc) · 864 Bytes

20. String Buffer and Builder

Since java Strings are immutable, the concatenation operation creates a new string.

let’s look at the example below:

public class Solution{

	public String getAlphabets(){
		String out = "";
		for(char c='a';c<='z';c++){
			out += c; // new string is created everytime
		}
		return out;
	}
	
}

This is not a memory efficient implementation. Java Provides a mutable String classes, StringBuilder and StringBuffer which is more memory efficient.

String StringBuilder StringBuffer
Mutable No ( Immutable ) Yes Yes
Thread safe No No Yes
public class Solution{

	public String getAlphabets(){
		StringBuilder out = new StringBuilder("");
		
		for(char c='a';c<='z';c++){
			out.append(c); // memory efficient
		}
		
		return out.toString();
	}
	
}