一.StringBuffer和StringBuider
相同点:都是能够修改字符串本身的。而且操作方法一般没有返回值。
不同点:StringBuffer,jdk1.0出来的 线程安全 耗费系统资源
StringBuider,jdk1.5 线程不安全 节省系统资源
二.主要方法
创建StringBuffer对象
StringBuffer sb = new StringBuffer();
拼接 append
sb.appden("hh").appden("yy");
StringBuffer转换成 字符串类型
String string = sb.toString;
插入 insert
StringBuffer sb = new StringBuffer("wahaha"); sb.insert(4, "da");打印结果
wahadaha
修改 setCharAt
sb.setCharAt(1, 'x');打印结果
wxhadaha
字符数组 转换 strignbuffer对象
char[] array = {'a','b','c'}; String string = String.valueOf(array); StringBuffer ss = new StringBuffer(string);
删除 delete 区间型 留头不留尾
StringBuffer sb = new StringBuffer("hhhyyy"); sb.delete(0, 4);打印结果
yy
删除 deleteCharAt(index) 指定角标型
sb.delete(1);获取字符 CharAt
char c = sb.CharAt(1);字符串反转
sb.reverse();替换 replace
sb.replace(0,4,"yyhhyy")
三.基本数据类型的包装类
byte Byteshort Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
为什么系统要给基本数据类型包装类
有类,能够增加成员方法和静态方法,扩展功能。
主要介绍 Integer
使用Interger num = 这个形式赋值时,如果值在[-128,127]实际上是从系统已经创建好的数组中取一个值给你,超过这个范围 会新建一个对象给你。此外,这样赋值时,实际上系统帮你调用了一个方法Integer.valueOf()方法,也成自动装箱。
Integer n2 = 10;
int num = n2 + 5;当运算时自动拆箱实际为n2.intValue
四.权限修饰符
1.public(公开的) 都能使用
2.protected(受保护的) 非子类的不同包类不能使用
3.default(默认的 什么都不写) 只有同包类能使用
4.private(私有的) 只有本类能使用