StringBuffer JDK 1.0出来的 线程安全 耗费系统资源
StringBuilder JDK 1.2出来的 线程不安全 节省系统资源
StringBuffer和StringBuilder都是可变的字符序列(修改的是字符本身)
操作StringBuffer的方法 一般是没有返回值的
String
线程不安全的 不可变的 字符序列(不能修改字符串本身)
// 插入
StringBuffer sb = new StringBuffer("wanglong");
sb.insert(4, "da").append("nb");
System.out.println(sb);
sb.setCharAt(1, 'x');
System.out.println(sb);
// 修改
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("wanglong");
// 删除 留头不留尾 实际删除[0,4)
// 传入结束坐标>字符串的长度 相当于清空字符串
stringBuffer.delete(0, 4);
System.out.println(stringBuffer);
//注意:直接传入的是要删除的字符的角标
stringBuffer.deleteCharAt(1);
System.out.println(stringBuffer);
// 获取 StringBuffer中的字符
char c = stringBuffer.charAt(1);
System.out.println(c);
// 字符数组转化成StringBuffer对象
char[]array = {'a','b','c'};
String valueOf = String.valueOf(array);
StringBuffer sb =new StringBuffer(valueOf);
System.out.println(sb);
// 键盘输入一个字符串 将字符串反转
Scanner scanner = new Scanner(System.in);
String string = scanner.nextLine();
StringBuffer sb = new StringBuffer(string);
sb.reverse();
System.out.println(sb);
// 替换 replace
StringBuilder sb = new StringBuilder();
sb.append("wanglong");
sb.replace(0, 4, "lixiao");
System.out.println(sb);
集合!
1.单列集合 2.双列集合
数组:长度一旦确定 不能变了 只能保存 相同数据类型的元素
集合:长度可以改变 可以存放不同类型的元素(集合中只能存储 引用类型(对象类型))
collection.size() 获取元素个数
collection.contains() 判断包含
collection.remove() 删除元素
collection.isEmpty 判断是不是空集合