java提供了String、StringBuffer和StringBuilder三个类来封装字符串(String three brothers)(网络摘抄)

字符串类

        字符串就是一连串的字符序列,java提供了String、StringBuffer和StringBuilder三个类来封装字符串,并提供了一系列方法来操作字符串对象。

        String、StringBuffer和StringBuilder之间的区别如下:

        String创建的字符串是不可变的,当使用String创建一个字符串后,该字符串在内存中是一个不可改变的字符序列,如果改变字符串变量的值,其实际是在内存中创建一个新的字符串,字符串变量将引用新创建的字符串地址,而原来的字符串在内存中已然存在且内容不变,直至Java的垃圾回收系统对其进行销毁。

        StringBuffer创建的字符串是可变的当使用StringBuffer创建一个字符串后,该字符串的内容可以通过append()、insert()、setCharAt()等方法进行改变,而字符串变量所引用的地址一直不变。如果想获得StringBuffer的最终内容,可以通过调用它的toString()方法转换成一个String对象。

        StringBuilder是JDK1.5新增的一个类,与StringBuffer类似也是创建一个可变的字符串,不同的是StringBuffer是线程安全的,而StringBuilder没有实现线程安全,因此性能较好。通常,如果只需要创建一个内容可变的字符串对象,不涉及线程安全、同步方面的问题,应优先考虑使用StringBuilder对象。

你可能感兴趣的:(Java)