IntelliJ 无法解析符号 "newFixedThreadPool"
IntelliJ cannot resolve symbol "newFixedThreadPool"
我是 IntelliJ 的新手,一般来说 Java。
我正在尝试学习多线程并且遇到了 Executors class。
所以我想对此进行测试,这是我的代码示例。
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class LegController {
private List<Runnable> legs;
private ExecutorService execute;
public LegController() {
legs = new ArrayList<>();
for (int i = 0; i < 6; i++) {
legs.add(LegFactory.getLeg("LEFT"));
}
execute = new Executors.newFixedThreadPool(6);
}
public void start(){
//TODO
}
}
但是我得到一个错误:"Cannot resolve symbol 'newFixedThreadPool'"。
我尝试了 "Invalidate cache and restart" 但它没有帮助,我尝试了同步和重建项目,但它也没有用。
我不明白这个问题是从哪里来的,因为 class Executors 是导入的。此外,Executors 的静态方法还有自动补全功能。
可能是进口有问题,但如果是这样,我该如何解决?
删除此行中的关键字 new
:
execute = new Executors.newFixedThreadPool(6);
应该是:
execute = Executors.newFixedThreadPool(6);
方法newFixedThreadPool
是classExecutors
的静态方法。
从此行删除新关键字:
execute = Executors.newFixedThreadPool(6);
您的语法实际上试图在执行器 class 中调用静态内部 class 'newFixedThreadPool' 的构造函数。静态内部 class 不存在。相反,您必须调用静态工厂方法...
我是 IntelliJ 的新手,一般来说 Java。 我正在尝试学习多线程并且遇到了 Executors class。
所以我想对此进行测试,这是我的代码示例。
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class LegController {
private List<Runnable> legs;
private ExecutorService execute;
public LegController() {
legs = new ArrayList<>();
for (int i = 0; i < 6; i++) {
legs.add(LegFactory.getLeg("LEFT"));
}
execute = new Executors.newFixedThreadPool(6);
}
public void start(){
//TODO
}
}
但是我得到一个错误:"Cannot resolve symbol 'newFixedThreadPool'"。 我尝试了 "Invalidate cache and restart" 但它没有帮助,我尝试了同步和重建项目,但它也没有用。
我不明白这个问题是从哪里来的,因为 class Executors 是导入的。此外,Executors 的静态方法还有自动补全功能。 可能是进口有问题,但如果是这样,我该如何解决?
删除此行中的关键字 new
:
execute = new Executors.newFixedThreadPool(6);
应该是:
execute = Executors.newFixedThreadPool(6);
方法newFixedThreadPool
是classExecutors
的静态方法。
从此行删除新关键字:
execute = Executors.newFixedThreadPool(6);
您的语法实际上试图在执行器 class 中调用静态内部 class 'newFixedThreadPool' 的构造函数。静态内部 class 不存在。相反,您必须调用静态工厂方法...