In our last article , we understood difference in String vs String Builder vs String Buffer , as you know String is immutable and String Builder and String Buffer is mutable ,see below example to understand concept clearly :
public class StringPractice {
public static void main(String[] args) {
String name="Swapnil";
System.out.println("original name "+name);
System.out.println("modifying name as "+name.concat("Vyawhare"));
System.out.println("*********************final name using String : "+name);
StringBuilder name2=new StringBuilder("Swapnil");
System.out.println("original name "+name2);
System.out.println("modifying name as "+name2.append("Vyawhare"));
System.out.println("*********************final name using StringBuilder :"+name2);
StringBuffer name3=new StringBuffer("Swapnil");
System.out.println("original name "+name3);
System.out.println("modifying name as "+name3.append("Vyawhare"));
System.out.println("*********************final name using StringBuffer :"+name3);
}
}
Output :
original name Swapnil modifying name as SwapnilVyawhare *********************final name using String : Swapnil original name Swapnil modifying name as SwapnilVyawhare *********************final name using StringBuilder :SwapnilVyawhare original name Swapnil modifying name as SwapnilVyawhare *********************final name using StringBuffer :SwapnilVyawhareExplanation :
In String class we have a concat() method to concatenate two String ,and in StringBuilder,StringBuffer classes we have append() method.
In above example , for String type variable final name is not changed after concatenation , but for StringBuilder and StringBuffer final name is modified, which proves that String is immutable and StringBuilder and StringBuffer are mutable.
click on below link to read theory about all these three in details :
Happy Learning and have a great day ahead.