package club.ztystronger.Arrays;
public class AutoWraped{
public static void main(String[]args) {
//String类字符串的截取,substring()
String a = "121323";
String b = a.substring(a.indexOf("1")+1);
//可变字符序列,字符串类StringBuilder
StringBuilder c = new StringBuilder("a");
c.append("www");
//常用方法
//倒序——reverse(),返回值为this
c.reverse();
//更改——setcharAt
c.setCharAt(0, 'c');
//增加删除
c.insert(0, 'a').insert(1, 'b').delete(2, 3);
System.out.println(c);
//注意,循环累加字符串,使用StringBuilder而不是String
// for(int i=0;i<5000;i++) {//错误
// a+=i;
// }
// for(int i=0;i<5000;i++) {//正确
// c.append(i);
// }
//测试两种方法
long num1 = Runtime.getRuntime().freeMemory();//获取系统剩余内存空间
long time1 = System.currentTimeMillis();//获取当前时间--仅用于测试运行时间
for(int i=0;i<5000;i++) {//错误
a+=i;
}
long num2 = Runtime.getRuntime().freeMemory();//获取系统剩余内存空间
long time2 = System.currentTimeMillis();//获取当前时间--仅用于测试运行时间
System.out.println("String累加"+" 占用时间"+(time2-time1)+" 占用空间"+(num1-num2));
long num3 = Runtime.getRuntime().freeMemory();//获取系统剩余内存空间
long time3 = System.currentTimeMillis();//获取当前时间--仅用于测试运行时间
for(int i=0;i<5000;i++) {//正确
c.append(i);
}
long num4 = Runtime.getRuntime().freeMemory();//获取系统剩余内存空间
long time4 = System.currentTimeMillis();//获取当前时间--仅用于测试运行时间
System.out.println("StringBuilder累加"+" 占用时间"+(time4-time3)+" 占用空间"+(num3-num4));
}
}
StringBuilder和String使用陷阱
最新推荐文章于 2023-06-24 15:21:21 发布