1.int 是 java 提供的 8 种原始数据类型之一. Java 为每个原始类型提供了封装类, Integer 是 java 为 int 提供的封装类.
2.int 的默认值为 0, 而 Integer 的默认值为 null, 即 Integer 可以区分出未赋值和值为 0 的区别, int 则无法表达出未赋值的情况, 例如, 要想表达出没有参加考试和考试成绩为 0 的区别, 则只能使用 Integer.
3. 在 JSP 开发中, Integer 的默认为 null, 所以用 el 表达式在文本框中显示时, 值为空白字符串, 而 int 默认的默认值为 0, 所以用 el 表达式在文本框中显示时, 结果为 0, 所以, int 不适合作为 web 层的表单数据的类型.
4. 在 Hibernate 中, 如果将 OID 定义为 Integer 类型, 那么 Hibernate 就可以根据其值是否为 null 而判断一个对象是否是临时的, 如果将 OID 定义为了 int 类型, 还需要在 hbm 映射文件中设置其 unsaved-value 属性为 0.
5.Integer 提供了多个与整数相关的操作方法, 例如, 将一个字符串转换成整数, Integer 中还定义了表示整数的最大值和最小值的常量.
来源: http://www.jianshu.com/p/e0962105a59e