老蔡的个人专栏正式成立,以后工作中遇到的技术问题,或者生活中对一些事物的见解,都会和大家分享!独乐乐不如众乐乐!

int 和integer的区别

JAVA BlandonTsai 1632℃ 0评论

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的区别

如果觉得文章还不错,欢迎打赏
喜欢 (0)or分享 (0)
头像
发表我的评论
取消评论