StringBuffer
JDK1.0 线程安全 耗费系统资源
StringBuilder
JDK1.5 线程不安全 节省系统资源
StringBuffer 和 StringBuilder
都是可变的字符序列(修改是对象本身)
操作StringBuffer的方法 一般是没有返回值
以StringBuffer为例的一些常用的方法
append 拼接
insert 插入
setCharAt 修改
delete
private static void fun1() {
// 创建StringBuffer对象
StringBuffer sb = new StringBuffer();
// 容量 默认16
System.out.println(sb.capacity());
// 长度
System.out.println(sb.length());
// 拼接
StringBuffer buffer = sb.append("wanglong");
System.out.println(buffer);
// StringBuffer转换成 字符串类型
String string = sb.toString();
System.out.println(string);
}
private static void fun2() {
// 插入
StringBuffer sb = new StringBuffer("wanglong");
sb.insert(4, "da").append("nb");
System.out.println(sb);
// 修改
sb.setCharAt(1, 'x');
System.out.println(sb);
}
private static void fun3() {
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 string = String.valueOf(array);
StringBuffer sb = new StringBuffer(string);
System.out.println(sb);
}
private static void fun4() {
// 键盘输入一个字符串 将字符串反转
System.out.println("请输入字符串");
Scanner scanner = new Scanner(System.in);
String s1 = scanner.nextLine();
StringBuffer sb = new StringBuffer(s1);
//反转
sb.reverse();
System.out.println(sb);
}
private static void fun5() {
//替换
StringBuffer sb = new StringBuffer();
sb.append("wanglong");
sb.replace(0, 4, "lixiao");
System.out.println(sb);
}
基本数据类型的包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
系统给基本数据类增加包装类
能增加成员方法 静态方法 功能进行扩展
自动装箱 ValueOf
自动拆箱 IntValue
public class Demo03 {
public static void main(String[] args) {
fun1();
// valueOf intValue
// 如果值在[-128,127]之间
// 实际上 是从系统已经创建好的数组
// 取出一个值给你
// 超出这个范围 会新建一个对象给你
// 所以下面的两个对象 地址不同
Integer num1 = 127;
Integer num2 = 127;
System.out.println(num1 == num2);
System.out.println(num1.equals(num2));
}
private static void fun1() {
// 创建一个Integer对象
Integer n1 = new Integer(10);
// 转化成数字
int i = n1.intValue();
System.out.println(i);
// 一般直接用数字来声明
// 自动装箱 自动拆箱
// 实际上系统帮你调用一个方法
// Integer.valueof(10)方法
Integer n2 = 10;
// 运算的时候 会进行自动拆箱
// n2.intValue
int sum = n2 + 5;
System.out.println(sum);
}
}