int 和 Integer 有什么区别?
Java 提供两种不同的类型:引用类型和基本数据类型。
int是基本数据类型,Integer是java为int提供的包装类。
Java为每个原始类型提供了包装类。
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean
基本类型的变量只能当成简单的直接量、参与表达式运算,不具备面向对对象的特征,基本类型的变量不能被赋为null;但包装类的变量则完全可以当成对象使用,它具有面向对象的特征,包装类的变量可以被赋为null。
因为Integer具有面向对象的特征,因此Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用EL输出为null的Integer时,将会显示为空白字符串,而int默认的默认值为0,用EL输出为将显示0。所以,int不适合作为Web层的表单数据的类型。
从Java 5开始,Java提供了自动装箱、自动拆箱功能,因此包装类也可以直接参与表达式运算,因此使用起来十分方便。
另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。
Java Program!