我有一个枚举,如下所示:

public enum DatacenterEnum {
    ABC, PQR, LTR;

    // this tells my current local datacenter enum
    private static final DatacenterEnum ourLocation = findCurrentLocation();

}

现在我想找到远程数据中心的列表。举个例子,假设 ourLocation 是 ABC,那么 REMOTE_DATACENTER 列表或者它可以是 EnumSet(我将在稍后迭代)应该有 PQR 和 LTR,对于其他组合也是如此。做这个的最好方式是什么?

最佳答案

听起来你想要补充。

// contains all DatacenterEnum except ourLocation
Set<DatacenterEnum> remoteSet =
    EnumSet.complementOf(EnumSet.of(ourLocation));
// as a List, if you want
List<DataceterEnum> remoteList =
    new ArrayList<>(remoteSet);

关于java - 如何在Java中找到枚举的子集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30155942/

10-12 22:28