int 和 Integer 有什么区别?

Java 提供两种不同的类型:引用类型和基本数据类型。

int是基本数据类型,Integerjavaint提供的包装类。

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输出为nullInteger时,将会显示为空白字符串,而int默认的默认值为0,用EL输出为将显示0。所以,int不适合作为Web层的表单数据的类型。

从Java 5开始,Java提供了自动装箱、自动拆箱功能,因此包装类也可以直接参与表达式运算,因此使用起来十分方便。

另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。

Java Program!
原文地址:https://www.cnblogs.com/programb/p/14068327.html