java泛型int和interger区别
这是错误
------解决方案--------------------int arr[] = {1,2,3};
改成
Integer arr[] = {1,2,3};
------解决方案--------------------int和Integer本身就不能够互用,因为他们两种不同的数据类型
------解决方案--------------------java中:
int是内建类型,不是类。
Integer 是包装int的类,在绝大部分情况下(除了泛型中的一些特殊情况)是可以自动向int转化的。
你给出的泛型代码中需要的类,所以要用Integer。
------解决方案--------------------一楼回答正确,将int改为Integer即可。
java 中 int integer 对比
java中有两种数据类型:基本数据类型,引用类型。
int就属于基本数据类型,基本数据类型是机器能够直接识别的类型,每一种基本数据类型都有其对应的包装器类(wrapper class),int的包装器类就是Interger。
因为Integer封装了整型的基本操作(如与其他基本类型间的转换等),所以需要对数值有转换操作等,就要用类。且一般情况下系统会自动进行转换。
int是JAVA的一个基本类型,而Integer是JAVA的一个类,对应 int。因为在某些地方不可以用int而要用Integer。而且基本类型运算的速度也要快。
如:
Integer i=0;
i是一个对象
int i=3;
i是一个基础变量