Como esconder um valor de enumeração em Java?

sulox32:

Eu tenho uma classe Enum com direitos.

public enum UserRight {
    SYSTEMMANAGEMENT, USERADMINISTRATION, ROLEADMINISTRATION, 
    STRUCTUREADMINISTRATION, DOCUMENTADMINISTRATION;
}

Agora eu quero carregar todos os meus direitos em uma lista, exceto SYSTEMMANAGEMENT. Eu fazê-lo agora como esta:

availrightslist.addAll(Arrays.asList(UserRight.values()));

Como posso carregar todos os direitos sem direito SYSTEMMANAGEMENT?

Lino:

Você pode simplesmente removê-lo depois de você ter adicionado todos:

availrightslist.remove(UserRight.SYSTEMMANAGEMENT);

Ou usar alguma EnumSet magia :

Set<UserRight> rights = EnumSet.complementOf(EnumSet.of(UserRight.SYSTEMMANAGEMENT));

Geralmente, se você tem um Collectionde enums é recomendável usar um EnumSet. Porque ter uma UserRightduas vezes realmente não faz sentido.

Acho que você gosta

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