为什么IntelliJ可以检测缺少的分号,Java编译器不能?

时间:2016-12-30 19:48:06

标签: java intellij-idea compiler-construction

我想知道为什么会这样。 IntelliJ如何以及为什么能够检测到丢失的分号和Java编译器无法解决?是否存在IntelliJ错误并且无法实际检测到缺少分号的情况? 我读过类似的讨论C和C ++的问题,有些指针使事情变得复杂,但Java似乎更简单。

1 个答案:

答案 0 :(得分:3)

我想挑战你的前提,即Java编译器无法检测丢失的分号。我只是尝试使用Oracle JDK 8中的javac编译以下代码,它完全能够检测到缺少的分号:

public class Test {
  public static void main(String... args) {
    System.out.println()
  }
}

打印的编译器错误如下:

Test.java:3: error: ';' expected
    System.out.println()
                        ^
1 error

正如您所看到的,它不仅检测到缺少的分号,甚至还能够指出 缺少的分号。