- 没有使用StringBuilder的话,用字符串拼接耗时耗空间。
- StringBuilder
package com.Brooke01;
public class StringBuliderDemo1 {
public static void main(String[] args) {
StringBuilder strBui = new StringBuilder("ssa");
System.out.println("strBui:"+strBui);
System.out.println("当前容量:"+strBui.capacity());
System.out.println("长度是:"+strBui.length());
}
}
结果:
strBui:ssa
当前容量:19
长度是:3
package com.Brooke01;
public class StringBuilderDemo2 {
public static void main(String[] args) {
StringBuilder strBui = new StringBuilder();
strBui.append(true).append("abc").append(100);
System.out.println(strBui);
System.out.println(strBui.reverse());
}
}
结果:
trueabc100
001cbaeurt
- StringBuilder和String的相互转换:
package com.Brooke01;
public class StringBuilderTest1 {
public static void main(String[] args) {
StringBuilder strBui = new StringBuilder();
strBui.append("hello").append("world");
String str = strBui.toString();
System.out.println("StringBuilder转换为String输出:"+str);
StringBuilder strBui1 = new StringBuilder(str);
System.out.println("String转换为StringBuilder输出:"+strBui1);
}
}
结果:
StringBuilder转换为String输出:helloworld
String转换为StringBuilder输出:helloworld
- 运用StringBuilder使数组元素按格式拼接
package com.Brooke01;
public class StringBuilderTest2 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
String str = arrToString(arr);
System.out.println("拼接后的字符串:"+str);
}
public static String arrToString(int[] arr) {
StringBuilder strBui = new StringBuilder();
strBui.append("[");
for(int x=0;x<arr.length;x++) {
if(x == arr.length-1) {
strBui.append(arr[x]);
}
else {
strBui.append(arr[x]).append(",");
}
}
strBui.append("]");
String str = strBui.toString();
return str;
}
}
结果:
拼接后的字符串:[1,2,3,4,5]
- String字符串转为StringBuilder并反转再转回String输出
package com.Brooke01;
import java.util.Scanner;
public class StringBuilderTest3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = sc.nextLine();
String strRes = myReserve(str);
System.out.println("反转后的字符串是:"+strRes);
}
public static String myReserve(String str) {
StringBuilder strBui = new StringBuilder(str);
strBui.reverse();
String str1 = strBui.toString();
return str1;
}
}
结果:
请输入一个字符串:
abcde
反转后的字符串是:edcba
package com.Brooke01;
import java.util.Scanner;
public class StringBuilderTest4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = sc.nextLine();
boolean b = isSymmetry(str);
System.out.println("是否对称:"+b);
}
public static boolean isSymmetry(String str) {
StringBuilder strBui = new StringBuilder(str);
strBui.reverse();
String strRes = strBui.toString();
return strRes.equals(str);
}
}
结果:
请输入一个字符串:
abc
是否对称:false