Java / Eclipse在方法调用中交换参数顺序,给出错误

时间:2014-12-13 23:15:03

标签: java eclipse

此代码:

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方法需要反向顺序的参数?

2 个答案:

答案 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已经“帮助”了我。当我扩展导入列表时,就是这样。删除它,一切按预期工作。