美文网首页
Java基本数据类型包装类

Java基本数据类型包装类

作者: 滑稽的命运 | 来源:发表于2019-02-28 12:39 被阅读0次

Java基本数据类型包装类

  • 包装类是什么?

    可以让基本数据类型获取跟对象一样的属性和特征,行使对象的相关权益,每一种基本数据类型都有对应的包装类型,方便对基本类型进行操作。

  • 基本数据类型及其对应的包装类:

    基本类型 包装类
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean
  • 包装类使用场景:

    包装类型可以解决一些基本类型解决不了的问题,如有时候方法传参需要传递一个Object变量,而我们想传递int类型的进去显然不行;再比如集合不允许存放基本数据类型,这些时候就要用到包装类。

  • 装箱,把基本数据类型转换成包装类:

    1. 自动装箱,不用实例化,直接赋值。

      int i1 = 2;
      Integer i2 = i1;
      
    2. 手动装箱,实例化对象。

      int i1 = 2;
      Integer i2 = new Integer(i1);
      
  • 拆箱,把包装类转换成基本数据类型:

    1. 自动拆箱,不调用包装类方法,直接赋值。

      Integer i1 = 2;
      int i2 = i1;
      
    2. 手动拆箱,调用包装类方法获取返回值。

      Integer i1 = 2;
      int i2 = i1.intValue();
      
  • 深入了解自动拆装箱,我们直接给包装类赋值实现自动装箱,实际上编译器是做了这些工作:

    1. 调用valueOf(),Java为了提高效率,在这个方法执行过程中提供了对象池,如果参数在-128 ~ 127之间就可以装进这个对象池。
    2. 当给包装类赋值时,它会在对象池里先查找是否存在这样的一个对象,如果有,就会从对象池里直接产生,让现在这个对象也指向这个内存空间,如果没有,就会隐式地调用new关键字来实例化一个对象。
  • 可以使用对象池的包装类:

可以使用Java对象池的基本数据包装类.png

相关文章

网友评论

      本文标题:Java基本数据类型包装类

      本文链接:https://www.haomeiwen.com/subject/cyshuqtx.html