我有一个具有权限的枚举类。
public enum UserRight {
SYSTEMMANAGEMENT, USERADMINISTRATION, ROLEADMINISTRATION,
STRUCTUREADMINISTRATION, DOCUMENTADMINISTRATION;
}
现在我想将除 SYSTEMMANAGEMENT 之外的所有权限加载到列表中。 我现在这样做:
availrightslist.addAll(Arrays.asList(UserRight.values()));
如何在没有 SYSTEMMANAGEMENT 权限的情况下加载所有权限?
最佳答案
您可以在添加完所有内容后将其删除:
availrightslist.remove(UserRight.SYSTEMMANAGEMENT);
或者使用一些EnumSet
魔法:
Set<UserRight> rights = EnumSet.complementOf(EnumSet.of(UserRight.SYSTEMMANAGEMENT));
通常,如果您有 enum
的 Collection
,建议使用 EnumSet
。因为拥有两次 UserRight
并没有多大意义。
关于java - 如何在 Java 中隐藏枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56061516/