在我的代码中出现错误如何修复它?

我有以下代码:


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(); 的错误。我将如何解决这个问题,而不使用强制转换


MM们
浏览 129回答 2
2回答

偶然的你

方法的参数是原始类型的,这就是为什么当你对它进行 get 操作时,你会得到一个对象类型。&nbsp;Integer v = (Integer)L1.removeFirst();或将方法参数类型更改&nbsp;LinkedList L1为LinkedList<Integer> L1但最好的方法是第二个更改参数类型

GCT1015

请尝试Integer&nbsp;v&nbsp;=&nbsp;(Integer)L1.removeFirst();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java