Java Language Zéro instance enum


Exemple

enum Util {
    /* No instances */;

    public static int clamp(int min, int max, int i) {
        return Math.min(Math.max(i, min), max);
    }

    // other utility methods...
}

Tout comme enum peut être utilisé pour les singletons (1 classe d'instance), il peut être utilisé pour les classes d'utilitaires (0 classes d'instance). Veillez simplement à terminer la liste (vide) des constantes enum avec un ; .

Voir la question Énumération d'instance zéro vs constructeurs privés pour empêcher l'instanciation d'une discussion sur les avantages et les inconvénients par rapport aux constructeurs privés.