如何在 Java 中找到枚举的子集?
How to find subset of enum in Java?
我有一个枚举,如下所示:
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);
我有一个枚举,如下所示:
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);