我有以下代码:
public static void poistaKaikki32(LinkedList L1, Collection L2) {
LinkedList<Integer> temp = new LinkedList<>();
HashSet<Integer> L2Set = new HashSet<>(L2);
// first filter elements into temp
while (L1.size() > 0) { // n loops
int v = L1.removeFirst(); <--- getting error cannot convert object to int
if (!L2Set.contains(v)) {
temp.addLast(v);
}
}
// add filtered values back to L1
while (temp.size() > 0) {
L1.addLast(temp.removeFirst());
}
}
我在 int v = L1.removeFirst(); 上不断收到错误。在不使用强制类型转换的情况下,我该如何解决这个问题。
最佳答案
方法的参数是原始类型,这就是为什么当你对其执行 get 操作时,你会得到一个对象类型。要使此工作正常,请在执行 get 操作时使用 TYPECAST 它
Integer v = (Integer)L1.removeFirst();
或者更改方法参数类型LinkedList L1
至LinkedList<Integer> L1
但最好的方法是第二种更改参数类型
关于java - 我的代码中出现错误如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52757436/