Java包装类--自动拆箱装箱

2018-10-17  本文已影响0人  otmoc
1、 什么是包装类

包装类就是Java基本数据类型的对象表示形式。其中包括基本数据类型byte, char, short, int, long, float, double, boolean。

2、有哪些包装类
3、为什么要用包装类
  1. Java是一门面向对象语言,在进行面向对象开发时,有些方法声明必须传入对象,而基本类型值不具备对象特性,为了基本类型具有对象特征,这时就出现了包装类
  2. 泛型不能使用基本类型,例如List<T>, Set<T>, Map<K, V>
4、使用包装类有哪些值得注意的地方
5、什么情况发生自动拆箱装箱
  1. 赋值

    Integer a = 1;
    int b = a;
    
    //编译后按照以下执行
    Integer a = Integer.valueOf(1);
    int b = a.intValue();
    
  2. 运算

    Integer a = 1;
    Integer b = 1;
    Integer c = a+b;
    
    //编译后按照以下执行
    Integer a = Integer.valueOf(1);
    Integer b = Integer.valueOf(1);
    Integer c = Integer.valueOf(a.intValue() + b.intValue());
    
  3. 比较

    Integer a = 1;
    int b = 2;
    System.out.println(a == b);
    
    //编译后按照以下执行
    Integer a = Integer.valueOf(1);
    int b = 2;
    System.out.println(a.intValue() == b);
    

    注意同是Integer类型之间的比较不会拆箱

  4. 方法调用

    Integer a = 1;
    System.out.println(a.compareTo(2));
    
    //编译后按照以下执行
    Integer a = Integer.valueOf(1);
    System.out.println(a.compareTo(Integer.valueOf(2)));
    
6、包装类继承结构
以上如有错误和不足的地方,请谅解和批评指正,不胜感激!
请尊重作者成果,转载时请标注原文: https://www.jianshu.com/p/bbfc9675d63d
上一篇下一篇

猜你喜欢

热点阅读