gpt4 book ai didi

java - 无法编译 FutureTask 内部类创建

转载 作者:行者123 更新时间:2023-12-02 03:46:39 25 4
gpt4 key购买 nike

下面的代码无法编译(JDK 1.8.0_40),我无法理解为什么。

public abstract class BackgroundThread<T> {
private final ExecutorService executorService = Executors.newFixedThreadPool(1);
private final FutureTask<T> task;

public <T> BackgroundThread() {
this.task = new FutureTask<T>(new Callable<T>() {
@Override
public T call() throws Exception {
return BackgroundThread.this.perform();
}
});
}

public abstract T perform() throws Exception;

public abstract void onDone();

public abstract void setProgress(int i);

public final void start() {

}
}

错误消息:Error(17, 53) Java 不兼容类型:T 无法转换为 T

最佳答案

从构造函数中删除类型参数,因为它定义的类型变量的作用域与类声明中同名T的变量完全不同:

public BackgroundThread() {

关于java - 无法编译 FutureTask 内部类创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36234661/

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