关于java:IntelliJ无法解析符号“newFixedThreadPool”

IntelliJ cannot resolve symbol “newFixedThreadPool”

本问题已经有最佳答案,请猛点这里访问。

一般来说,我是新的iTeliJ和Java。我正在尝试学习多线程,我遇到了Executor类。

所以我想测试这个,这是我的代码示例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
    }
}

但我得到一个错误:"无法解析符号"newFixedThreadPool"。我试过"使缓存失效并重新启动",但没用,我试过同步和重建项目,但也没用。

我不明白这个问题来自哪里,因为类执行器是导入的。此外,执行器的静态方法也有自动完成功能。也许进口有问题,但如果是这样,我怎么解决呢?


删除关键字EDCOX1,0,在这行:

1
execute = new Executors.newFixedThreadPool(6);

应该是:

1
execute = Executors.newFixedThreadPool(6);

方法newFixedThreadPool是类Executors的静态方法。


从此行中删除新关键字:

1
execute = Executors.newFixedThreadPool(6);

您的语法实际上试图在执行器类内调用静态内部类"newFixedThreadPool"的构造函数。静态内部类不存在。相反,您必须调用一个静态工厂方法…