为什么下面的代码片段没有给出编译时错误?

Why the below code snippet is not giving compile time error?

声明静态最终实例变量后,一个 ArrayList 对象被分配给它。但是当我添加一个额外的分号时,java 编译器没问题。这是代码。

import java.util.ArrayList;
import java.util.List;

public class FinalExample {

    private static final List<String> foo = new ArrayList();; //double semicolons are fine with compiler

    public static void main(String[] args){
        System.out.println(FinalExample.foo);//Result is - []
    }

分号结束语句。因此,当您在 java 中给出多个分号时,编译器会将第二个分号视为空语句并且不会抱怨它。