package com.qf.demo2;
/**
* String 字符串 常量池 不可变得(操作字符串增加 删除的操作的时候 开辟大量的 内存空间)
*
* StringBuffer 字符串缓冲区 可变 每一个字符串之开辟一份空间 无论增加或者是删除 都操作的是这一个字符串 线程安全的 技术好的司机
* StringBuilder 字符串缓冲区 可变 每一个字符串之开辟一份空间 无论增加或者是删除 都操作的是这一个字符串 线程不安全的 技术不好的司机
*
*
* 线程安全 技术好的司机 速度慢
* 线程不安全 技术不好的司机 速度快
*
*/
public class Test {
public static void main(String[] args) {
String string = "abc";
string = "abcdf";
string = "abdfe";
string = "ab";
StringBuffer buffer = new StringBuffer();
buffer.append("a").append("b").append("c").append("d");// 追加 只能是 后面 追加
//buffer.delete(0, 1).delete(0, 1).delete(0, 1);// 删除 左闭右开
buffer.insert(2, true).insert(2, "nihao");// 插入 指定位置 插入数据
System.out.println(buffer);
System.out.println(buffer.length());
System.out.println(buffer.indexOf("n"));
System.out.println(buffer.lastIndexOf("a"));
buffer.reverse().reverse();// 反转
System.out.println(buffer);
// 记住
String string2 = buffer.toString();
test(buffer.toString());
}
public static void test(String string){
}
}
package com.qf.demo2;
public class Test2 {
public static void main(String[] args) {
StringBuilder builder = new StringBuilder("abcdefghi");
builder.append("abcdef").append("abd");
builder.delete(2, 5).delete(0, 3);
builder.insert(3, "abcdef");
builder.reverse();
builder.toString();
System.out.println(builder);
}
}