获得;类型不匹配:无法从int转换为Object“;在java中启动对象数组内的整数时出错
当我写ar[0]=12时;我得到了一个错误:“类型不匹配:无法从int转换为Object”要将获得;类型不匹配:无法从int转换为Object“;在java中启动对象数组内的整数时出错,java,Java,当我写ar[0]=12时;我得到了一个错误:“类型不匹配:无法从int转换为Object”要将12转换为至少需要Java 1.5的对象,这称为自动装箱 Java1.5中引入了自动装箱和取消装箱,以自动将原语类型转换为装箱原语(对象或包装器类) 因此,确保在两台机器上都有一个Java版本>=1.5要将12转换为至少需要Java 1.5的对象,这称为自动装箱 Java1.5中引入了自动装箱和取消装箱,以自动将原语类型转换为装箱原语(对象或包装器类) 因此,请确保两台计算机上都有Java版本>=1.5
12
转换为至少需要Java 1.5的对象,这称为自动装箱
Java1.5中引入了自动装箱和取消装箱,以自动将原语类型转换为装箱原语(对象或包装器类)
因此,确保在两台机器上都有一个Java版本>=1.5要将
12
转换为至少需要Java 1.5的对象,这称为自动装箱
Java1.5中引入了自动装箱和取消装箱,以自动将原语类型转换为装箱原语(对象或包装器类)
因此,请确保两台计算机上都有Java版本>=1.5两台计算机上使用的Java编译器版本是什么?这两台计算机之间有什么区别?也许是不同版本的Java?确保在家用计算机上升级java。顺便说一句,这应该可以很好地编译,这是正确的行为。所以你在家里使用的任何编译器都是错误的。它可能是java 5之前的编译器将
int[]ar
更改为Integer[]ar
。它将解决您的问题。编译器知道ar
元素应该是对象,而您为它提供了一个int
——它只是不知道如何自动装箱(要么JDK本身太旧,要么您将源代码级别设置为<1.5),因此它会抱怨。将ar
更改为Integer[]
或使用ar[0]=Integer.valueOf(12)这两台计算机上使用的java编译器版本是什么?这两台计算机之间的区别是什么?也许是不同版本的Java?确保在家用计算机上升级java。顺便说一句,这应该可以很好地编译,这是正确的行为。所以你在家里使用的任何编译器都是错误的。它可能是java 5之前的编译器将int[]ar
更改为Integer[]ar
。它将解决您的问题。编译器知道ar
元素应该是对象,而您为它提供了一个int
——它只是不知道如何自动装箱(要么JDK本身太旧,要么您将源代码级别设置为<1.5),因此它会抱怨。将ar
更改为Integer[]
或使用ar[0]=Integer.valueOf(12)代码>使其工作。非常有帮助。谢谢。我刚刚将java编译器的遵从性级别从1.4更改为1.6,现在工作正常。再次感谢您,因为它对您有效。您应该接受aswer,让更多的读者知道这是解决方案……非常有帮助。谢谢。我刚刚将java编译器的遵从性级别从1.4更改为1.6,现在工作正常。再次感谢你,因为它为你工作,你应该接受aswer,让更多的读者知道这是解决方案。。。
public class objArrayPractice {
public static void main(String[] args) {
Object ar []= new Object [4];
ar[0]= 12;
}
}