标签:地址 etc ring uil tchar 内容 方法 ringbuf har
一、区别:
String:String创建的字符串是不可变的,当使用String创建一个字符串后,该字符串在内存中是一个不可改变的字符串,如果改变字符串变量的汉子,其实际是在内存中创建一个新的字符串,字符串变量将引用新创建的字符串地址,而原来的字符串在内存中依然存在且内容不变,直到JAVA的垃圾回收系统对其进行销毁。
StringBuffer创建的字符串是可变的,当使用SringBuffer创建一个字符后,该字符的内容可以通过append()、insert()、setCharAt()等方法进行改变,而字符串变量所引用的地址一直不变。如果想获得StringBuffer的最终内容,可以通过调用它的toString()方法转换成一个String对象。
StringBuilder是JDK1.5新增的一个类,与StringBuffer相似,也是创建一个可变的字符串变量,不同的是,StringBuffer是线程安全的,而StringBuilder没有线程安全,因此性能较好。如果不涉及线程安全、同步方面的问题,应优先考虑使用StringBuilder类。
二、各方法使用:
String类:
StringBuffer类:
StringBuilder类:
字符串使用(String,StringBuffer,StringBuilder)
标签:地址 etc ring uil tchar 内容 方法 ringbuf har
原文地址:http://www.cnblogs.com/mhhg-up/p/6529788.html