int是java提供的8种原始数据类型之一。
8种类型 字节 数据容器(类) 数的范围
byte 1 Byte -128—127
char 2 Character 0—65535
short 2 Short -32768—32767
int 4 Integer -2147483648—2147483647
float 4 Float 3.4e-038 ~3.4e+038
long 8 Long -263~263-1
double 8 Double 1.7e-308 ~1.7e+308
boolean 没有 Boolean
Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。
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。
转载请注明:似水流年 » int 和integer的区别