StringBuilder类、StringBuffer类以及StringJoiner类
StringBuilder类
public static void main(String[] args) throws CloneNotSupportedException {
StringBuilder s=new StringBuilder("河大");
//1、拼接内容
s.append(666);
s.append("软件学院");
s.append(true);
System.out.println(s);
//2、支持链式编程,这是因为每一次调用append方法时返回的是当前的StringBuilder对象
s.append(666).append("软件学院").append(666);
System.out.println(s);
//3、反转操作
s.reverse();
System.out.println(s);
//4、返回字符串的长度
System.out.println(s.length());
//1、把StringBuilder对象转换为String类型
String rs = s.toString();
System.out.println(rs);
}
为什么操作字符串建议使用StringBuilder,而不使用String
为什么对于字符串相关的操作,如频繁的拼接、修改等,建议用StringBuilder?
答:StringBuilder
(在Java中)或类似的类(如C#中的StringBuilder
)是为了解决上述问题而设计的。它们提供了一种可变的字符串表示,允许在不重新分配内存的情况下修改字符串。这意味着你可以在同一个对象上进行多次修改,而不需要为每次修改分配新的内存。同时,由于StringBuilder
减少了内存分配和复制的需要,它也减少了垃圾回收器的工作量,这有助于提高应用程序的整体性能。此外,StringBuilder
类提供了许多有用的方法,如append()
, insert()
, delete()
等,这些方法使得字符串的构建和修改更加方便和灵活。
StringBuffer类
StringJoiner类
StringJoiner s=new StringJoiner(",","[","]");
s.add("12");
s.add("heda");
System.out.println(s);
StringJoiner既能高效,又能实现更方便的拼接,是个不错的选择。