StringBuilder
StringBuilder代表可变字符串对象,相当于一个容器,里面装的字符串是可以改变的,StringBuilder就是用来操作字符串的
好处: StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁
常用API
构造器 | 说明 |
---|---|
public StringBuilder() | 创建一个空白的可变的字符串对象,不包含任何内容 |
public StringBuilder(String str) | 创建一个指定字符串内容的可变字符串对象 |
方法名称 | 说明 |
---|---|
public StringBuilder append(任意类型) | 添加数据并返回StringBuilder对象本身 |
public StringBuilder reverse() | 将对象的内容反转 |
public int length() | 返回对象内容长度 |
public String toString() | 通过toString()就可以实现把StringBuilder转换为String |
案例演示
js
public class StringBuilderTest1 {
public static void main(String[] args) {
StringBuilder s = new StringBuilder("此时相望不相闻");
//append()拼接内容,支持任意类型数据
s = s.append(",愿逐月华流照君。");
System.out.println(s); //此时相望不相闻,愿逐月华流照君。
System.out.println(s.reverse()); //。君照流华月逐愿,闻相不望相时此
System.out.println(s); //。君照流华月逐愿,闻相不望相时此
s.reverse();
System.out.println(s.length()); //16
System.out.println(s.getClass()); //class java.lang.StringBuilder
System.out.println(s.toString().getClass()); //class java.lang.String
//toString()方法将StringBuilder对象转换为String类型
}
}
StringBuffer和StringBuilder是一模一样的,可以用StringBuilder的就一定可以用StringBuffer
但StringBuilder是线程不安全的,StringBuffer是线程安全的