java - 将 int 传递给 Object 参数

标签 java object int

我的几个同学遇到了一个我无法重现的问题,所以我希望有人能够阐明他们的问题。

我们的作业要求我们使用此签名创建一个方法:

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/

相关文章:

c++ - 如何在 C++ 类中的 STL priority_queue 中实现这种比较

c - 为什么这个 float 有两个不同的值?

java - 带有支持库的 PreferenceFragment

java - 将非最终对象传递给方法引用

java - Hibernate:无法找到命名参数

java - 如何使用 DirectoryStream.Filter 过滤隐藏文件

java - ObjC – 从数组中的对象获取值(NSMutableArray)

java - 我的面向对象程序不会注册哨兵值并存在循环

C++ 可能同时读取 int 和 string

c++ - 为什么在 64 位机器上的 C++ 中 int 的大小不是 8 个字节。还有 gcc 的任何版本都支持 8 字节 int 吗?