此代码:
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方法需要反向顺序的参数?
答案 0 :(得分:0)
我们没有您的所有代码,但很明显您的temp
变量引用了普通的java.util.ArrayList。重命名你的家乡" ArrayList类为不同的东西(MyArrayList
为(一个坏的)示例),然后引用该类的实例
MyArrayList<Pizza> temp = new MyArrayList<>();
这应该可以解决你的问题。
如果你想保留你的ArrayList名称,那么只要文件顶部没有import java.util.ArrayList
语句,编译器就会引用你的ArrayList,而不是java.util&#39; s。 / p>
答案 1 :(得分:0)
问题结果是标准ArrayList的import语句,Eclipse已经“帮助”了我。当我扩展导入列表时,就是这样。删除它,一切按预期工作。