zoukankan      html  css  js  c++  java
  • 拆箱和装箱(有了基本数据类型为什么还需要包装类)

    一,什么是基本数据类型

    java中提供了八个基本的数据类项:

      整型:int(4B),byte(1B),short(2B),long(8B),

      浮点型:float(4B),double(8B),

      布尔型:boolean(1B),

      字符型:char(2B)

    *String不是基本的数据类型

    每个基本的数据类型都会有一个对应得包装类(int---Integer)

    二,装箱和拆箱

    1、装箱,基本数据类项转换成对应的包装类型

    (1)构造方法

    Integer int1=new Integer(1);

    (2)valueOf()实际也是通过构造方法 

    Integer int2=Integer.valueOf(1);

    (3)自动装箱(实际上编译时会调用 Integer的ValueOf封装)

    Integer int3=1;

     2、拆箱,包装类转基本数据类型

    (1)手动拆箱方式

    
    
    Integer int3=1;
    int int4=int3.intValue();

     (2)自动拆箱(实质:在编译的时候调用用intValue()

        Integer int3=1;
        int int5=int3;

     

    三,总结:java面向对象是面向对象的语言,而基本的数据类型不具备面向对象的特性(封装继承多态)

    (1)举例说明:

      用Integer和int分别表示Person的Id

      Integer可以判断(id==null),取最大值(Max),最小值(Min)

      int作为基本数据类型就没有这些属性

    (2)再比如:

      Integer在判断两个对象是否相等时,可以使用equals()自定义的比较方式

      而int只能用==判断值是否相等

      《“==”与equals详细区分》

     

  • 相关阅读:
    性能参考指标
    Java Native Interface 二 JNI中对Java基本类型和引用类型的处理
    Java Native Interface 编程系列一
    HTTP的报文与状态码
    [译]Android调整图像大小的一些方法
    Android多线程通信机制
    Android四大组件知识整理
    Java多态与反射
    23种设计模式的优点与缺点概况
    Android应用性能优化
  • 原文地址:https://www.cnblogs.com/excellencesy/p/9115953.html
Copyright © 2011-2022 走看看