1:Int是java提供的8种原始数据类型之一;Integer是java为int的提供的封装类,。int的默认值是0;Integer的默认值是null,即Integer可以区分未赋值和赋值为0的区别,而int却无法表达出未赋值的情况。例如:如果要表达没有参加考试和参加考试考试成绩为0的区别,只能用Integer了。在JSP开发中,Integer的默认值是null,用el表达式在文本框中显示时,值为空白字符串,这样客服比较容易接受。而用int默认值为0,用el表达式在文本框中显示时,结果也为0.所以int不适合作为web层的表单数据的类型。
2:声明为int的变量不需要实例化,声明为Integer时需要实例化;如:
int i; Integer i = new Integer();
3:之所以把int封装成Integer是因为很多方法参数只接收对象类型(object);
4:如果在数据操作中某数值列允许为null的话,那接受该列数据类型只能为Integer,而不能为int,所以一般性持久化对象中尽量少地使用基本类型。
5:往ArrayList,HashMap中放东西时,像int,double这种内置类型是放不进去的,因为容器都是装object的,这时就需要这 些内建类型的外覆类了。
如:ArrayList al =new ArrayList();
int n=40;
Integer nl =new Integer(n);
al.add(n);//不可以
al.add(nl);//可以的