我有一个Enum类,它有大量的值(与数据库一起使用的转换键(,但在我的情况下,我只需要迭代它的值;c_foo_">
最具成本效益的方法是什么?
我正在使用Java 14。
您可以使用枚举值中的Stream
s来筛选出您不感兴趣的值。
Arrays.stream(YourEnum.values())
.filter(e -> e.name().startsWith("c_foo_"))
.forEach(...);
另一种可能的方法是,假设您的枚举值有一个定义的顺序:
public enum MyEnum {
BAR, BAZ, DOO, FOO, GEE, MOO
}
你可以使用EnumSet.range
:
EnumSet<MyEnum> set = EnumSet.range(MyEnum.BAZ, MyEnum.GEE);
按照枚举中定义的顺序获取从BAZ到GEE的所有元素
[BAZ, DOO, FOO, GEE]
请注意,第一个元素和最后一个元素都是inclusiv。