Java StringBuffer 和 StringBuilder
StringBuilder使用方法和StringBuffer一样,new之后接可以使用了。
package com.stringDemo.Demo01;
/**
* StringBuffer 和 StringBuilder 的使用
* 和String的区别
* (1) 效率比String高
* (2) 比String节省内存
* */
public class Demo02 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
// 四个方法
// 1.1 append() 追加
sb.append("java");
// 1.2 toString() 变成字符串
System.out.println(sb.toString());
sb.append("java真心");
System.out.println(sb.toString());
// 1.3 insert(); 添加
sb.insert(0,"前面");
System.out.println(sb.toString());
// 1.4 replace(); 替换
sb.replace(0,3,"1");
System.out.println(sb.toString());
// 1.5 delete(); 删除
sb.delete(0,4);
System.out.println(sb.toString());
// 1.6 清空
sb.delete(0,sb.length());
System.out.println(sb.length());
}
}
验证效率:
String:
package com.stringDemo.Demo01;
/**
* 验证StringBuilder效率高于String
* @author mango
* */
public class Demo03 {
public static void main(String[] args) {
// 开始时间
long start = System.currentTimeMillis();
String s1 = "";
for (int i = 0; i < 99999; i++) {
s1+=i;
}
System.out.println(s1);
long end = System.currentTimeMillis();
System.out.println("时间:" + (end-start));
}
} // 用时30s
StringBuilder:
package com.stringDemo.Demo01;
/**
* 验证StringBuilder效率高于String
* @author mango
* */
public class Demo03 {
public static void main(String[] args) {
// 开始时间
long start = System.currentTimeMillis();
StringBuilder s1 = new StringBuilder();
for (int i = 0; i < 99999; i++) {
s1.append(i);
}
System.out.println(s1);
long end = System.currentTimeMillis();
System.out.println("时间:" + (end-start));
}
}
// 用时0.03