¿Cuáles son los inconvenientes de las enumeraciones en Java?

Mathieu Gemard:

Mientras observa jhipster, he tropezado con la clase siguiente

public final class AuthoritiesConstants {
    public static final String ADMIN = "ROLE_ADMIN";
    public static final String USER = "ROLE_USER";
    public static final String ANONYMOUS = "ROLE_ANONYMOUS";
    private AuthoritiesConstants() {
    }
}

Me preguntaba por qué no se utilizan enumeraciones como por ejemplo

public enum AuthoritiesConstants {
    ROLE_ADMIN,
    ROLE_RESPONSABLE,
    ROLE_MANAGER,
    ROLE_COLLABORATEUR
}

¿Hay algún inconveniente utilizando enumeraciones?

Peter Wilkin:

Una posible respuesta es que las enumeraciones se introdujeron en Java 1.5. Aunque esto parece historia antigua, algunas bibliotecas siguen utilizando las constantes de cadena o constantes numéricas por razones de compatibilidad.

Otra respuesta posible es que esos no son realmente semánticamente elementos de enumeración, pero constantes utilizadas por una interfaz externa y sólo alguna vez se accede a través de su cadena de valor. En tales casos, el uso de enumeraciones y llamando name()cada vez sería redundante.

Aparte de eso, nunca se debe utilizar enumeraciones sobre las constantes de cadena en tales casos.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=317325&siteId=1
Recomendado
Clasificación