区别
int是java中的基本类型,而integer是一个包装类,也就是说相当是一个对象。
Integer的默认值是null,int的默认值是0
Integer变量必须实例化后才能使用,而int变量不需要
为何存在两个东西,感觉都差不多?
在java中一切都是面向对象,而int类型是个基本类型,功能太单一,就是个数值。而包装类型integer功能更多,更符合java的编程思想。在java中包装类,比较多的用途是用在于各种数据类型的转化中。比如你如果定义一个int a=0;如何把它转换成其他类型的变量呢?虽然有些可以强转,但是并不推荐这样干,比较容易的做法是:声明成一个integer对象,调用integer.xxxvalue()就可以转成其他数据类型。截图如下
2.在java中很多方法的参数都是对象类型的,很少有基本类型的参数。比如List,map,set集合框架类