1 String
1.1概述
String 是字符串类 java中的String是引用数据类型
* String底层是char数组 因此String里面很多特性都是数组的特性 比如String
* 里面有length()方法保存长度
* 字符串一旦确定不能修改
* 字符串拼接的话会创建新的字符串对象 因此大量拼接会浪费空间
* String 类型比较一定用equals方法 String以及覆写了euqals方法比较的是值
1.2 使用
1.3构造
注意字节数组转化为字符串最常用
引用类型的转化为string类型可以使用tostring方法;
1.4 String常用的方法
这两个是最常用的
1.5拼接注意事项
1.6 注意
2 StringBulider StringBuffer
用到多个字符串拼接的时候使用二者
* 因为做拼接之后使用一个对象 但是用String的话会创建很多对象 底层数组是final修饰
* StringBuffer 和StringBuilder 都是可以拼接的字符串 底层数组在父类中 并且可以扩容
* StringBuffer 线程安全 多线程环境下不会出现问题
* StringBuilder 非线程安全 多线程环境可能出现问题
* 默认容量是16 扩容为2倍+2
3 包装类
3.1 类型![](https://i-blog.csdnimg.cn/blog_migrate/50ab7eb4e653528aa76e2d3439433e7a.png)
3.2 为什么使用
想对基本数据类型进行更多操作 最好的方式是封装成对象
3.3 使用及转化
3.4 装箱 拆箱
自动装箱 int自动转换为Integer
* 自动拆箱 相反
3.5 整型常量池
整型常量池
* 在方法区中存储的是地址 运行后创建256个对象 放在堆内存里面 并在数组中进行存储
* Integer.valueOf()中内含一个整型常量池 使用这个方法的时候 会现在整型常量池里面
* 进行比对 如果符合条件就不需要创建对象直接把相应对象的地址返回