StringBuilder与StringBuffer:
类的对象能够被多次的修改,并且不产生新的未使用的对象。
常用于代替字符串,做高效的字符串连接 sb.append(...)
功能、用法完全相同
StringBuilder 线程不安全StringBuffer 线程安全
创建对象:
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(".....");
方法:
sb.append() 在字符序列末尾,追加字符,高效的字符串连接
sb.delete(int start,int end) 删除 [start, end) 位置的字符串
sb.deleteCharAt(int index) 删除指定为置单个字符
sb.insert(int index, 子串) 在 index 位置,插入一个子串str
sb.replace(int start, int end, String str) 将[start, end)替换为指定字符串str
sb.setCharAt(int index, char ch) 将 index 位置替换为字符ch
sb.toString() 转为String类型
sb.reverse() 翻转
番外:
String类用于比较两个字符串、查找和抽取串中的字符或子串、字符串与其它类型之间的相互转换等。String对象中存放的字符串是不能被修改的
StringBuffer类用于内容可以改变的字符串,可以将其它各种类型的数据增加、插入到字符串中,也可以转置字符串中原来的内容。如果是要求频繁增加,删除,修改字符串中的某些字符的话,那么String就不适用了。这个时候可以使用StringBuffer。一旦通过StringBuffer生成了最终想要的字符串,就应该使用StringBuffer.toString方法将其转换成String类,随后,就可以使用String类的各种方法操纵这个字符串了。
Java为字符串提供了特别的连接操作符(+),可以把其它各种类型的数据转换成字符串,并前后连接成新的字符串。连接操作符(+)的功能是通过StringBuffer类和它的append方法实现的。
String x = "a" + 4 + "c";
编译时等效于
String x=new StringBuffer().append("a").append(4).append("c").toString();