使用静态初始化程序初始化静态最终字段

要初始化需要使用多个表达式的 static final 字段,可以使用 static 初始值设定项来分配值。以下示例初始化一组不可修改的 String

public class MyClass {

    public static final Set<String> WORDS;
    
    static {
        Set<String> set = new HashSet<>();
        set.add("Hello");
        set.add("World");
        set.add("foo");
        set.add("bar");
        set.add("42");
        WORDS = Collections.unmodifiableSet(set);
    }
}