java 自动拆箱与装箱(基本数据类型与引用类型)

(本文章不为原创文章,摘抄,忘记了出处,抱歉)

1.Java数据类型
       在介绍java的自动装箱和拆箱之前,我们先来了解一下Java的基本数据类型。
       在Java中,数据类型可以分为两大种,Primitive Type(基本类型)和Reference Type(引用类型)。基本类型的数值不是对象,不能调用对象的toString()、  hashCode()、getClass()、equals()等方法。所以Java提供了针对每种基本类型的包装类型。如下:
   
 
INDEX 基本类型 大小 数值范围 默认值 包装类型
1 boolean --- true,false false Boolean
2 byte 8bit -2^7 -- 2^7-1 0 Byte
3 char 16bit u0000 - uffff u0000 Character
4 short 16bit -2^15 -- 2^15-1 0 Short
5 int 32bit -2^31 -- 2^31-1 0 Integer
6 long 64bit -2^63 -- 2^63-1 0 Long
7 float 32bit IEEE 754 0.0f Float
8 double 64bit IEEE 754 0.0d Double
9 void --- --- --- Void
 
2.Java自动装箱和拆箱定义
      java1.5中引入了自动装箱和拆箱机制:
       (1)自动装箱:把基本类型用它们对应的引用类型包装起来,使它们具有对象的特质,可以调用toString()、hashCode()、getClass()、equals()等方法。
        如下:
        Integer a=3;//这是自动装箱
        其实编译器调用的是static Integer valueOf(int i)这个方法,valueOf(int i)返回一个表示指定int值的Integer对象,那么就变成这样: 
        Integer a=3;   =>    Integer a=Integer.valueOf(3);
        (2)拆箱:跟自动装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为基本类型的数据。
         如下:
         int i = new Integer(2);//这是拆箱
原文地址:https://www.cnblogs.com/Zchaowu/p/7351582.html