2015年11月26日 Java基础系列(一)之String与StringBuffer与StringBuilder的区别

序,StringBuffer是线程安全的,StringBuilder是线程不安全的,但是StringBuilder操作速度快,因此在使用时要根据场景合理选择。

StringBuffer和StringBuilder都是可变字符串,当对字符串的操作更多是在添加、删除或更换子串的操作,则用StringBuffer或StringBuilder。

String是一个类,实现了 Serializable, Comparable<String>, CharSequence

一、String类

1 创建String对象时,String类型的变量知识一个保存String类的对象的引用。

2 String的连接操作“+”,会产生新的引用。

3 字符串对比,==,是比较两个字符串引用是否相同,如果都引用了同一个字符串,则相等,否则则不相等,而不比较内容是否相等。

1 String firstString = "I";
2 String secondString = " am";
3 String thirdString = "I am";
4 
5 String forthString = firstString + secondString;
6 if (forthString == thirdString)

4 String对象的长度总是固定的。

二、StringBuffer类

1  StringBuffer对象length()方法返回字符数量,capacity()返回可以容纳的字符数。ensureCapacity(int)可以设置容量最小值。

2  StringBuffer对象长度不是固定的,它有缓冲区,缓冲区的长度就是capacity()的值。

3 append(),追加子串。

4 lastIndexof()

5 replace()

6 insert()

三、StringBuilder类

 

原文地址:https://www.cnblogs.com/yaochc/p/4996441.html