1. StringBuilder
(1) StringBuilder代表可变字符串,相当于一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的
(2) StringBuilder比String更适合字符串的修改操作,效率跟高,代码更简洁。
(3) 常用的方法
构造器 | 说明 |
public StringBuilde() | 创建一个空白可变的字符串对象,不包含任何内容 |
public StringBuilder(String str) | 创建一个指定字符串内容的可变字符串对象 |
方法 | 说明 |
public StringBuilder append(任意类型) | 添加数据并返回StringBuilder 对象本身 |
public StringBuilder reverse() | 将对象的内容反转 |
public int length() | 返回对象内容长度 |
public String toString() | 通过toString()就可以实现把StringBuilder 转换为String |
public static void main(String[] args) {//StringBuilder//构造器StringBuilder s1 = new StringBuilder();StringBuilder s2 = new StringBuilder("Hello");//1. public StringBuilder append 添加数据并返回StringBuilder 对象本身s1.append("卡莎");s1.append(18);s1.append(520.00);s1.append('c');//支持链式编程s1.append("泰坦").append(19).append('r');System.out.println(s1);//卡莎18520.0c泰坦19r//2.public StringBuilder reverse() 将对象的内容反转s1.reverse();System.out.println(s1);//r91坦泰c0.02581莎卡//3. public int length() 返回对象内容长度System.out.println(s1.length());//15//4. public String toString() 把StringBuilder 转换为String String string = s1.toString();System.out.println(string);//r91坦泰c0.02581莎卡}
(4) 对于字符串相关的操作,如果操作字符串较少或者不需要操作,以及定义字符串常量,建议使用String;如频繁的拼接修改等,建议使用StringBuilder,效率更高;
2. StringBuffer
StringBuffer的用法与StringBuilder是一模一样的;但StringBuilder是线程不安全的,StringBuffer是线程安全的
3. StringJoiner
(1) StringJoiner是JDK8开始才有的,跟StringBuffer一样,也是用来拼接字符串的,也可以看做是一个容器,创建之后里面的内容是可变的;不仅能提高字符串的操作效率,在有些场景下使用它来操作字符串,代码会更加简洁。
(2) 常用方法
构造器 | 说明 |
public StringJoiner(间隔符号) | 创建一个StringJoiner对象,制定拼接时的间隔符号 |
public StringJoiner(间隔符号, 开始符号, 结束符号) | 创建一个StringJoiner对象,制定拼接时的间隔符号、开始符号、结束符号’ |
方法 | 说明 |
public StringJoiner add(添加的内容) | 添加数据,返回对象本身(只能操作字符串) |
public int length() | 返回对象内容长度 |
public String toString() | 返回一个字符串,该字符串是拼接之后的结果 |
public static void main(String[] args) {//StringJoiner//public StringJoiner(间隔符号) 创建一个StringJoiner对象,制定拼接时的间隔符号StringJoiner sj = new StringJoiner(",");sj.add("卡莎");sj.add("18");sj.add("666");System.out.println(sj);//卡莎,18,666//public StringJoiner(间隔符号, 开始符号, 结束符号) 创建一个StringJoiner对象,制定拼接时的间隔符号、开始符号、结束符号’StringJoiner sj2 = new StringJoiner(",","[","]");sj2.add("卡莎");sj2.add("18");sj2.add("666");System.out.println(sj2);//[卡莎,18,666]//public int length() 返回对象内容长度System.out.println(sj.length());//9//public String toString() 返回一个字符串,该字符串是拼接之后的结果String string = sj.toString();System.out.println(string);//卡莎,18,666
}