Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在我的代码中出现错误如何修复?_Java_Methods_Collections_Linked List - Fatal编程技术网

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

Java 在我的代码中出现错误如何修复?,java,methods,collections,linked-list,Java,Methods,Collections,Linked List,我有以下代码: public static void poistaKaikki32(LinkedList L1, Collection L2) { LinkedList<Integer> temp = new LinkedList<>(); HashSet<Integer> L2Set = new HashSet<>(L2); // first filter elements into temp

我有以下代码:

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()); 
        }


    }
publicstaticvoid-ikki32(链接列表L1,集合L2){
LinkedList temp=新建LinkedList();
HashSet L2Set=新的HashSet(L2);
//首先,将滤芯装入温度传感器
而(L1.size()>0){//n个循环
int v=L1.removeFirst();0{
L1.addLast(temp.removeFirst());
}
}
我在int v=L1.removeFirst();;上不断遇到错误。如果不使用强制转换,我将如何修复此错误。

请重试

Integer v = (Integer)L1.removeFirst();
请试一试

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

方法的参数是原始类型,这就是为什么在对其执行get操作时会获得对象类型
Integer v=(Integer)L1.removeFirst();

或者将方法参数类型
LinkedList L1
更改为
LinkedList L1


但最好的方法是第二种方法,将参数类型更改为“方法”的参数是原始类型,这就是为什么对其执行get操作时会得到对象类型
Integer v=(Integer)L1.removeFirst();

或者将方法参数类型
LinkedList L1
更改为
LinkedList L1


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

什么是
removeFirst()的返回类型
?如果参数
L1
是一个包含
Integer
s的
LinkedList
,则将其声明为
LinkedList L1
;如果由于对调用代码的负面影响而无法执行此操作,则必须使用
(Integer)
cast.和:了解java命名约定。变量/参数名称按大小写。和:使用有意义的名称告诉人类读者发生了什么事。L1没有意义,什么也说不出来。是的,@luk2302,cast不是最优的;但是如果有大量的东西用原始
列表
s调用这个东西,该怎么办?
re的返回类型是什么moveFirst()
?如果参数
L1
是包含
整数的
链接列表
,则将其声明为
链接列表L1
;如果由于对调用代码的负面影响而无法执行此操作,则必须使用
(整数)
cast.和:了解java命名约定。变量/参数名称按大小写。和:使用有意义的名称告诉人类读者发生了什么。L1没有意义,什么也说不出来。是的,@luk2302,cast不是最优的;但是如果有大量的东西用原始
列表调用这个东西,该怎么办?嗯,它“修复了”编译器错误,基本上忽略了它。这不是一个正确的答案。改为更改
L1
的类型。@luk2302实际上你是对的
public static void-takaiki32(LinkedList L1,Collection L2){
它“修复了”编译器错误,基本上忽略了它。这不是正确的答案。请改为更改
L1
的类型。@luk2302实际上您是对的
public static void-takaiki32(LinkedList L1,Collection L2){