Java Language Initialisation des champs finaux statiques à l'aide d'un initialiseur statique


Exemple

Pour initialiser un static final nécessitant l'utilisation de plusieurs expressions, un initialiseur static peut être utilisé pour affecter la valeur. L'exemple suivant initialise un ensemble de String de caractères non modifiable:

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);
    }
}