Java 将int传递给对象参数

Java 将int传递给对象参数,java,object,int,Java,Object,Int,我的几个同学有一个我无法重现的问题,所以我希望有人能解释一下他们的问题 我们的任务要求我们使用此签名制作一种方法: public void addElement(int index, Object element) {...} 此方法由提供的(预先编写的)驱动程序类通过以下行调用: list1.addElement(addIndex, int1); 您可能已经猜到,int1是一个int。这对我来说很好,但有些人会收到错误消息: "The method addElement(int, Obje

我的几个同学有一个我无法重现的问题,所以我希望有人能解释一下他们的问题

我们的任务要求我们使用此签名制作一种方法:

public void addElement(int index, Object element) {...}
此方法由提供的(预先编写的)驱动程序类通过以下行调用:

list1.addElement(addIndex, int1);
您可能已经猜到,
int1
是一个int。这对我来说很好,但有些人会收到错误消息:

"The method addElement(int, Object) in the type LinkedList is not applicable for the  arguments (int, int) "
on list1.addElement(addIndex,int1);
我尝试过使用不同的IDE和不同版本的JDK,但仍然无法重现这个问题


谢谢你的帮助

这个问题发生在Java-5之前在JDK上尝试过的人身上,也就是在引入自动装箱的时候。如果切换到这么旧的JDK,您将看到此错误。当然,这也是添加变量参数列表的时候,所以您也会看到其他错误

适用于所有JDK的方法如下:

list1.addElement(addIndex, Integer.valueOf(int1));

他们在使用Java1.4吗?因为自动装箱是在Java 5中添加的。我问的是使用1.8.0_25-b18仔细检查项目的符合性级别。Eclipse是否可能使用与编译和运行时运行的Java版本不同的Java版本来检查错误?@AndyDudley
1.8.0_25-b18
看起来像是JDK版本号,而不是Java版本。有可能有一个Java8JDK,但仍然错误地编译到早期版本。