StringBuilder概述
StringBuilder是一个可变字符类,可以想象为一个容器可提供字符串操作效率。
StringBuilder构造方法
StringBuilder.append(String str)
Describe :将指定的字符串追加到此字符序列
StringBuilder stringBuilder = new StringBuilder();
//链式编程如果一个方法返回是对象类型。对象就可以继续向下调用方法
StringBuilder StringBuilderDate = stringBuilder.append("Curry").append("wqy").append("java");
System.out.println(StringBuilderDate);
StringBuilder.reverse()
Describe:导致此字符序列被序列的反向替换
StringBuilder stringBuilder = new StringBuilder();
StringBuilder StringBuilderDate = stringBuilder.append("Curry").append("wqy").append("java");
System.out.println("反转前:"+StringBuilderDate);
StringBuilderDate.reverse();
System.out.println("反转后:"+stringBuilder);
StringBuilder.Length()
Describe:返回长度(字符数)。
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("安抚").append("发啊发").append("刚刚");
System.out.println("字符个数为:"+stringBuilder.length());
StringBuilder优缺点
StringBuilder
是 Java 中用于构建字符串的一个非常有用的类。它属于可变序列,实现了 CharSequence
接口,并允许我们通过追加、插入和删除操作来修改字符串内容
优点 |
可变: |
性能:相比字符串拼接(使用 |
易于使用: |
缺点 |
不透明性: |
不可变性缺失:Java 中的 |
线程不安全:虽然这在某些情况下可以被视为一个优点(因为它提高了性能),但在多线程环境中使用 |
ProJect Csae(项目案例)
对称字符串
//扫描去获取用户输入date
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
//接受用户输入数据
String useerdate = scanner.nextLine();
//将字符串封装为StringBuilder对象 后续调用反正字符串
StringBuilder stringBuilder = new StringBuilder(useerdate);
//将StringBuilder转为String
String reverses = stringBuilder.toString();
//调用StringBuilder类中reverse
stringBuilder.reverse();
if (useerdate.equals(reverses)){
System.out.println("ok");
}else{
System.out.println("rerr");
}
ProJect Csae Two(项目案例)
拼接字符串
public static void main(String[] args) {
int[] arraydate = {1, 2, 3};
StringBuilder stringBuilder = new StringBuilder();
String mains = arraytoString(arraydate);
System.out.println(mains);
}
public static String arraytoString(int[] arraydate) {
StringBuilder stringBuilder = new StringBuilder("[");
for (int i = 0; i < arraydate.length; i++) {
if (i == arraydate.length - 1) {
stringBuilder.append(arraydate[i] + "]");
} else {
stringBuilder.append(arraydate[i] + ", ");
}
}
return stringBuilder.toString();
}
}