您的位置:首页 > 编程语言 > Java开发

Java知识点整理:第十章:包装类、集合的复制、集合线程同步化(线程安全)、集合与数组的相互转换

2016-11-14 22:42 344 查看
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[]。
    
可以使用重载的方法,传入一个指定类型的数组。
    
返回值就是指定类型的数组。
    
如果集合的长度大于给定数组的长度,那么返回的数组是重新创建的。
    
如果集合的长度小于给定数组的长度,那么返回的数组是给定的那个数组对象.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: