String ,StringBuilder ,StringBuffer

String ,代表字符序列不可变的字符串,且Sring不需要线程安全,线程不安全的版本,因为String本身是不可变的类,
而不可变类总是线程安全的。
StringBuilder ,StringBuffer代表字符序列可变的字符串,其中StringBuiler是线程不安全的版本,StringBuffer是线程安全版本。
public class ImmutableString {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "hello";
        System.out.println(System.identityHashCode(str));
        
        str = str + "java";
        System.out.println(System.identityHashCode(str));
        str = str + ", crazyit.org";
        System.out.println(System.identityHashCode(str));
    }

}
25860399
5184781
33311724




public class MutableString {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        StringBuilder str = new StringBuilder("Hello");
        System.out.println(str);
        System.out.println(System.identityHashCode(str));
        str.append(" java");
        //str = str + "java";
        System.out.println(str);
        System.out.println(System.identityHashCode(str));
        //str = str + ", crazyit.org";
        str.append(", crazyit.org");
        System.out.println(str);
        System.out.println(System.identityHashCode(str));
    }

}
Hello
31843011
Hello java
31843011
Hello java, crazyit.org
31843011

  

原文地址:https://www.cnblogs.com/fxyfirst/p/4135637.html