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
}