【问题标题】:IntelliJ - AutoCompletion not working for new packageIntelliJ - 自动完成不适用于新包
【发布时间】:2016-05-15 10:13:19
【问题描述】:

我正在测试一些 Java API,我创建了名为“MyLearning”的项目,我的所有 src 文件都位于其中,在 src 中我创建了另一个名为“myfiles”的包,现在当我导入 java.nio.file.Files API 时, IntelliJ 没有向我展示有关此类的建议。但在主包中,即src 文件夹中,该建议完全正常。

示例:

上图显示了我的主 src 文件夹,其中 Files API 工作正常。

但是在我创建的新包(即 myfiles)中,它在检索 Files API 的方法时显示错误。错误是

无法解析符号“存在”

谁能告诉我这里有什么问题?

【问题讨论】:

    标签: java intellij-idea


    【解决方案1】:

    您必须将方法调用放在方法中。

    public void foo()
    {
        Files.exists(path);
    }
    

    我还注意到您放置的标签之一是intellij-14。 IntelliJ 的最新版本是2016.2

    【讨论】:

    • 如果我使用这个语句它不会工作,而它应该? if(Files.exists(path)){ //do something }
    • 如果我在文件之后按 [CTRL] + [SPACE],IntelliJ 应该给我建议。
    • 正如我所说,您需要将代码放入方法中。这不是 IntelliJ 的错误,而是您的代码。如果您直接在类中调用方法,您的代码不会编译。 IntelliJ 已突出显示您的代码,这清楚地表明有问题。 [ALT] + [ENTER] 应该会为您解决。
    【解决方案2】:

    你必须在方法中调用它,而不是在类中

    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    
    public class Main {
    
        public static void main(String[] args) {
            System.out.println("Hello World!");
            Path path = Paths.get("C:\\log.txt");
            System.out.println(Files.exists(path));
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 2017-05-19
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多