有了基本数据类型,为什么还需要包装类型?
装箱和拆箱
1、装箱:把基本的数据类型转换成对应的包装类。
例如:Integer.valueOf(1); 或者 Integer i = 1;(自动装箱)
自动装箱:实际上是在编译时会调用 Integer.valueOf(1);
2、拆箱:就是把包装类型转换为基本数据类型
例:Integer i = 1;
自动拆箱(实际上会在调用时调用 intValue() ):int j = i;
手动拆箱:int j = i = intValue()
有了基本数据类型,为什么还需要包装类型?
Java是一个面向对象的语言,而基本的数据类型,不具备面向对象的特征(封装、抽象、继承、多态)。
例如:用Integer和int分别表示Person这个类的ID,判断有没有这个值?
int 要判断是否为空 是否为0 两个来判断。
Integer 只需要判断是否为空就行了
另外,对象类型可以调用Max()、Min()等方法。
包装类还存在一个缓存值的概念
缓存值:对象缓存,
interger i = 1;
interger j = 1;
i == j; 是true。