首页 > 解决方案 > 仅迭代枚举中以某些字符开头的值的最有效方法

问题描述

我有一个具有大量值的 Enum 类(与数据库一起使用的翻译键),但在我的情况下,我只需要迭代它的值,例如以字符“c_foo_”开头

什么是最经济有效的方式来做到这一点?

我正在使用 Java 14。

标签: javastringenums

解决方案


您可以使用Stream枚举值中的 s 来过滤掉您不感兴趣的那些。

Arrays.stream(YourEnum.values())
    .filter(e -> e.name().startsWith("c_foo_"))
    .forEach(...);

推荐阅读