众所周知,int和Integer都是java中的数据类型,
int----------基本数据类型
Integer------------引用数据类型,是int的封装类,是一个类
Q:为什么要提供包装类呢?
A: 因为int仅仅可以表示一个变量是整型,
而Integer呢,在文档中是这样说的:
“this class provides several methods for converting an int to a String and a String to an int, as well as other constants and methods useful when dealing with an int”
意思就是,Integer可以提供一些方法,使得整型变量可以转化为String类型,也可以使String类型转化为整型变量,当然也可以和其他类型进行相互转化。
所以Integer相对于int来说,就是增加了一些便利的方法,可以进行类型之间的转化。
eg:int a =5; //仅仅作为数值参数
Integer b = 5;
String str = b.toString(); //转化为String类型
double d = b.doubleValue(); //转化为double类型
byte by = b.byteValue(); //转化为byte类型
。。。。
Q:两者在表示数值上还有什么区别呢?
A:int在程序中未赋值时,默认值是0,而Integer默认值是Null
可以用来区分考生是考试成绩为0(int)还是没有参加考试(Integer)