引出基本类型包装
问题1:在面向对象中,“一切皆对象”。现在问题来了,int age = 17;
请问这代码哪里有对象?基本类型变量不是对象,此时有矛盾。
问题2:现在给你一个复杂的十进制数据,请你迅速的在程序中转换为二进制、八进制、十六进制。(算法太麻烦了)
问题3:现在使用double类型来表示学生的考试成绩,double类型的初始值为0.0。但是你怎么表示一个人缺考或者考试得0分?
上述问题,就是因为基本数据类型缺少对象,如果需要对象,必须现有类。
此时我们可以为每一个基本数据类型都编写一个对应的包装类,类中包含了该基本类型的一个值。
装箱和拆箱操作
// 装箱操作:把一个基本数据类型的值,转换为对应包装类对象
// 方式1
Integer num1 = new Integer(17);
// 方式2
Integer num2 = Integer.valueOf(17);
// 拆箱操作:把包装类的对象,转换为对应基本类型变量
int num3 = num1.intValue();
/*=================================*/
// 从java5开始提供了自动装箱和自动拆箱
// 自动装箱
Integer num4 = 17;
// 自动拆箱
int num5 = num4;