Java 我正在将一个列表从一个类传递到另一个类,但我得到的错误是“我在说”;消费者无法转换为列表整数"; List List=new ArrayList(); 消费者=新消费者(新消费者(列表)); 公共类使用者扩展线程{ 名单; 公众消费者(名单){ this.list=列表; } }

Java 我正在将一个列表从一个类传递到另一个类,但我得到的错误是“我在说”;消费者无法转换为列表整数"; List List=new ArrayList(); 消费者=新消费者(新消费者(列表)); 公共类使用者扩展线程{ 名单; 公众消费者(名单){ this.list=列表; } },java,Java,替换消费者=新消费者(新消费者(列表)) 借 消费者=新消费者(列表)因为您的构造函数属于类型公共消费者(列表) 但是您试图传递新消费者(列表),这会产生冲突 解决办法是: public class Consumer extends Thread{ List<Integer> list; public Consumer(List<Integer> list) { this.list = list; } } 反而 Consume

替换
消费者=新消费者(新消费者(列表))


消费者=新消费者(列表)

因为您的构造函数属于类型
公共消费者(列表)

但是您试图传递
新消费者(列表)
,这会产生冲突

解决办法是:

public class Consumer extends Thread{

    List<Integer> list;

    public Consumer(List<Integer> list) {
        this.list = list;
    }
}
反而

Consumer consumer = new Consumer(list); 

使用者对象构造函数接受列表作为参数,但您正在传递使用者对象作为参数

Consumer consumer = new Consumer(new Consumer(list));
List List=new ArrayList();

消费者=新消费者(列表);//在这里换 公共类使用者扩展线程{ 名单; 公众消费者(名单){ this.list=列表; } }
为什么要将两个
新消费者
传递给变量?试试这个
Consumer=new Consumer(list)
“Consumer=new Consumer(new Consumer(list));“你绝对确定这是你的代码吗?”:我真是太蠢了。谢谢:)
Consumer consumer = new Consumer(new Consumer(list));
List<Integer> list = new ArrayList<>();

Consumer consumer = new Consumer(list); // Changed here


public class Consumer extends Thread{

    List<Integer> list;

    public Consumer(List<Integer> list) {
        this.list = list;
    }
}