在我的代码中出现错误如何解决?



我有以下代码:

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 操作时,你会得到一个对象类型。Integer v = (Integer)L1.removeFirst();

或将方法参数类型LinkedList L1更改为LinkedList<Integer> L1

但最好的方法是第二个更改参数类型

请尝试

Integer v = (Integer)L1.removeFirst();

相关内容

  • 没有找到相关文章

最新更新