gpt4 book ai didi

java - 构造中的泛型 : Java does not recognize that my own class implements an interface

转载 作者:行者123 更新时间:2023-11-30 07:24:31 26 4
gpt4 key购买 nike

我想实例化一个新的java ThreadPoolExecutor使用这段代码:

public class ImageList {
private LinkedBlockingQueue<Image> list;
private final ThreadPoolExecutor executor;

public ImageList() {
executor = new ThreadPoolExecutor(2, 4, 100, TimeUnit.SECONDS, list);
}
}

在哪里Image具有以下 header :

public class Image implements Runnable, Serializable

但是,Java 提示类型 BlockingQueue<Runnable> 的构造函数没找到。我做错了什么?

最佳答案

构造函数期望一个 BlockingQueue<Runnable> .你传给它 BlockingQueue<Image> .

A BlockingQueue<Image>不是 BlockingQueue<Runnable> .实际上,您可以将任何类型的 Runnable 存储在 BlockingQueue<Runnable> 中。 , 但你只能存储 Image BlockingQueue<Image> 中的实例.

如果是,您可以执行以下操作:

BlockingQueue<Image> list = new BlockingQueue<Image>();
BlockingQueue<Runnable> list2 = list1;
list2.add(new Runnable() {...});

然后繁荣!你的BlockingQueue<Image>将包含 Image 以外的内容.

关于java - 构造中的泛型 : Java does not recognize that my own class implements an interface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11472904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com