1.object类
- object是所有类基类,接口类不继承object
- 方法equals本质上是在判断引用类型地址,在子类中可重写方法使之具备特殊功能
- java中引用类型均可为null,因此健壮性判断中需注意null情况和传进来参数是本身情况,健壮性判断可以增加程序执行效率
- tostring是在syso调用输出对象时候默认添加的,本质是输出对象地址,不过在子类中会有重写现象scanner就是重写了tostring方法
2.String类
- “”本身也是一个对象
- new String(“abc”)本句创建中出项两个地址:“abc”是一个地址(堆中的常量池),new本身也是一个新开地址,在new新开的地址存储得是“abc”的地址
- String对象是常量不可变,但其引用变量可被重新赋值:
String name="abc";
name是引用变量可被重新赋值
“abc”是常量创建之后就不可变,
重新赋值是新开内存创建对象比如 “def”
- string中equals方法是在遍历字符串中每个字符是否相同(String是一个final char【】不可变字节数组)
- 和char相关运算都会先查询编码表,48,57;65,90;97,122;
- 汉字是两个字节的负数
- 在java中一般有两个索引参数都是包含头不包含尾
- substirng(头索引,尾索引)返回一个字符串内部一部分的新字符串
- startwith,endwith,contains返回bool值分别是,以开始,以结尾,是否包含
- indexof找字符第一次出现的索引位置没有就会返回-1(不能以负数表示索引,返回负数表示没有)
- getbyte将字符转成编码
- tochartarray将字符串转成字符数组
- equalsignorecase 忽略大小写判断是否完全相等
- chartat返回字符串索引上字符
- touppercase,tolowercase,转成大小写
3.字符缓存区类Stringbuffer类
- 安全线程,可变字节数组,比String类节省内存,不会创建多个内存地址,新的存在后就会把旧的对象删除
- 默认容量16个字节
- new之后使用append()追加字符返回是一个stringbuffer类因此可以一直追加此种叫方法调用链
Stringbuffer bf=new StringBuffer;
bf.append().append().append();
- delete(头索引,尾索引),删除包含头不含尾的字符串
- insert(索引,插入任意类型),在索引位置插入,可添加到length位置,因为所添加的就是在本来基础上第length个
- replace(start,end,字符)替换
- reverse字符反转
- tostring返回是一个不可变的String类型
4.Stringbuilder - 用法和Stringbuffer一样,比buffer运行快,是不安全线程