int和Integer差别

intjava提供的8种原始数据类型之中的一个。

Java为每一个原始类型提供了封装类。Integerjavaint提供的封装类。

原始数据类型包含byteintcharlongfloatdoublebooleanshort

相应的封装类booleanBoolean  charCharacter  byteByte  shortShort  intInteger  longLong floatFloat  doubleDouble 


Java中的原始类型具体解释。如表所看到的。

类型

称呼

值域

表示范围

byte

字节型

8 bits

-128~127

int

整型

32 bits

-2,147,483,648~ -2,147,483,647

short

短整型

18 bits

-32,768~32,767

long

长整型

64 bits

-9,223,372,036,854,775,808~ 9,223,372,036,854,775,807

char

字符型

16 bits (UNICODE)

0~65535

float

浮点型

32 bits IEEE 754-1985

double

双精度

64 bits IEEE 754-1985

boolean

布尔型

true/flase

仅仅有“真”或“假”两种结果


int的默认值为0,而Integer的默认值为null。即Integer能够区分出未赋值和值为0的差别。int则无法表达出未赋值的情况,

比如。要想表达出没有參加考试和考试成绩为0的差别。则仅仅能使用Integer

JSP开发中。Integer的默觉得null。所以用el表达式在文本框中显示时。值为空白字符串,而int默认的默认值为0。所以用el表达式在文本框中显示时。结果为0,所以,int不适合作为web层的表单数据的类型。

Hibernate中。假设将OID定义为Integer类型,那么Hibernate就能够依据其值是否为null而推断一个对象是否是暂时的。假设将OID定义为了int类型。还须要在hbm映射文件里设置其unsaved-value属性为0

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



原文地址:https://www.cnblogs.com/wzjhoutai/p/7261644.html