The toString() method of StringBuffer class can be used to convert StringBuffer content to a String. This method returns a String object that represents the contents of StringBuffer.
Method:
public String toString()
Example:
Lets take a simple example first –
public class ConvertStringBufferToString1 { public static void main(String[] args) { StringBuffer sb = new StringBuffer("beginnersbook"); String str = sb.toString(); System.out.println("String object: "+str); } }
Output:
String object: beginnersbook
As you can observe that the string object represents the same sequence that we had in StringBuffer.
Important Note: When we use toString() method, a new String object is allocated and initialized to contain the character sequence currently represented by StringBuffer object, that means the subsequent changes to the StringBuffer object do not affect the contents of the String object. Lets verify this in the below example.
Example 2: Here we are appending a string to the Stringbuffer object after conversion to see whether the content of the string object gets changed or not.
public class ConvertSbToStr2 { public static void main(String[] args) { StringBuffer sb = new StringBuffer("beginnersbook"); String str = sb.toString(); System.out.println("***Before append***"); System.out.println("StringBuffer contains: "+sb); System.out.println("String object contains: "+str); sb.append(".com"); System.out.println("***After append***"); System.out.println("StringBuffer contains: "+sb); System.out.println("String object contains: "+str); } }
Output:
***Before append*** StringBuffer contains: beginnersbook String object contains: beginnersbook ***After append*** StringBuffer contains: beginnersbook.com String object contains: beginnersbook
String content does not reflect the append that we did after conversion, that proves what we have mentioned in the “Important Note” above.
Leave a Reply