【发布时间】:2014-12-21 22:54:50
【问题描述】:
这段代码:
temp.set(pizzaArray.get(i), upIdx);
指的是这个方法(在我的 ArrayList 类中):
public void set(T objectToSet, int index) {
this.data[index] = objectToSet;
}
它会生成错误“ArrayList 类型中的方法 set(int, Pizza) 不适用于参数 (Pizza, int)。
这是一个自制的 ArrayList 类,而不是 Java 的内置类。 temp 是一个 ArrayList。我检查了所有我能想到的并重新启动了 Eclipse;为什么 Java 坚持我的 set 方法需要相反顺序的参数?
【问题讨论】:
-
请正确格式化您的代码以使其更具可读性。
-
你尝试清理你的项目了吗?
-
我没有尝试过清洁,但没有帮助
-
"...检查了我能想到的所有内容...。"——这就是为什么经常要求您尽可能地精简代码然后发布所有内容的原因。这被 Java 或 eclipse 或其他任何东西“交换”的机会比你不理解你不理解的代码部分的机会要小得多。如果没有更多信息,我们无法帮助您理解它
-
我注意到 Java 内置的 ArrayList 的参数顺序与我的相反,因此我将方法从 set 重命名为 setElementAtIndex。现在错误消息是“对于 ArrayList
类型的方法 setElementAtIndex(Pizza, int) 未定义。