可变字符串
- StringBuffer:可变长字符串,JDK1.0提供,运行效率慢、线程安全。
- StringBuilder:可变长字符串,JDK5.0提供,运行效率快、线程不安全。
/**
* StringBuffer和StringBuilder的使用
* 和String区别:(1)效率比String高(2)比String节省内存
*/
public class Demo5 {
public static void main(String[] args) {
// StringBuffer sb = new StringBuffer();
StringBuilder sb = new StringBuilder();
//1.append():追加
sb.append("java世界第一");
System.out.println(sb.toString());
sb.append("java真香");
System.out.println(sb.toString());
//2.insert():添加
sb.insert(0,"我在最前面");
System.out.println(sb.toString());
//3.replace():替换
sb.replace(0,5,"hello");
System.out.println(sb.toString());
//delete():删除
sb.delete(0,5);
System.out.println(sb.toString());
//清空
sb.delete(0,sb.length());
System.out.println(sb.toString());
}
}
/**
* 验证StringBuffer效率高于String
*/
public class Demo6 {
public static void main(String[] args) {
//开始时间
long start = System.currentTimeMillis();
// String string = "";
// for (int i = 0; i < 99999; i++) {
// string += i;
// }
// System.out.println(string);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 99999; i++) {
sb.append(i);
}
System.out.println(sb.toString());
long end = System.currentTimeMillis();
System.out.println("用时:" + (end - start));
}
}