1.包装类:
包装类是把基本数据类型包装为对象(引用)类型。
1.总共有8个包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
2.包装类的API
3.包装类与基本数据类型的转换
jdk5之前必须手动转换
jdk5以后自动装箱 自动拆箱
4.包装类是final类型的.
包装类的对象不变,类似于字符串.
重写了toStringhashCode equals compareTo
*自定义类加载器
*需要继承ClassLoader
*
*重写findClass()即可.loadClass()封装了代理模式.
*
* loadClass()首先会调用findLoadClass()方法来检查该类是否被加载过.如果没有被加载过就调用父类的loadClass()来尝试加载.如果父类加载器无法加载此类.就调用findClass()来查找此类并加载.
*
*为了确保正确的代理模式,最好不好重写loadClass()
*只重写findClass()即可.
2.集合的复制:
java提供的默认的复制规则:浅层复制。
1.clone() Object类中定义
2.复制构造器
ArrayList list = newArrayList();
add()...
ArrayList list1 = newArrayList(list);
所有的集合都有复制构造器,都是浅层复制.
复制构造器的参数是多态的.可以复制不同类型的集合.
Collection与map不能相互复制(结构不同)
3.集合线程同步化:
List
Collection.synchronizedList(list)
Map
Collection.synchronizedMap(map)
4.集合与数组的相互转化:
数组-集合
数组转成的集合是只读的.
如果想要使用增删改方法,可以通过集合的复制
将集合重新复制出一个。
集合-数组
list.toArray(T[] t);
不带参数的方法返回值是Object[]。
可以使用重载的方法,传入一个指定类型的数组。
返回值就是指定类型的数组。
如果集合的长度大于给定数组的长度,那么返回的数组是重新创建的。
如果集合的长度小于给定数组的长度,那么返回的数组是给定的那个数组对象.