拆箱和装箱(有了基本数据类型为什么还需要包装类)
Posted song.yan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拆箱和装箱(有了基本数据类型为什么还需要包装类)相关的知识,希望对你有一定的参考价值。
一,什么是基本数据类型
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只能用==判断值是否相等
以上是关于拆箱和装箱(有了基本数据类型为什么还需要包装类)的主要内容,如果未能解决你的问题,请参考以下文章