int与integer的区别
1.Integer是int提供的封装类,而int是java的基本数据类型
2.Integer默认值是null,而int默认值是0;
3.声明为Integer的变量需要实例化,而声明为int的变量不需要实例化
4.Integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数据
类似的还有:float Float;double Double;string String等
举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的,这是就需要这些内建类型的外覆类了。
Java中每种内建类型都有相应的外覆类
Java中int和Integer关系是比较微妙的。关系如下:
1.int是基本的数据类型;
2.Integer是int的封装类;
3.int和Integer都可以表示某一个数值;
4.int和Integer不能够互用,因为他们两种不同的数据类型;
举例说明
ArrayList al=new ArrayList();
int n=40;
Integer nI=new Integer(n);
al.add(n);//不可以
al.add(nI);//可以
并且泛型定义时也不支持int: 如:List<Integer> list = new ArrayList<Integer>();可以 而List<int> list = new ArrayList<int>();则不行
总而言之:如果我们定义一个int类型的数,只是用来进行一些加减乘除的运算or作为参数进行传递,那么就可以直接声明为int基本数据类型,但如果要像
对象一样来进行处理,那么就要用Integer来声明一个对象,因为java是面向对象的语言,因此当声明为对象时能够提供很多对象间转换的方式,与一些常用
的方法。自认为java作为一们面向对象的语言,我们在声明一个变量时最好声明为对象格式,这样更有利于你对面向对象的理解。