我的几个同学遇到了一个我无法重现的问题,所以我希望有人能够阐明他们的问题。
我们的作业要求我们使用此签名创建一个方法:
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));
关于java - 将 int 传递给 Object 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26952158/