获得;类型不匹配:无法从int转换为Object“;在java中启动对象数组内的整数时出错

获得;类型不匹配:无法从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

当我写ar[0]=12时;我得到了一个错误:“类型不匹配:无法从int转换为Object”

要将
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)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;
    }
}