java - 仅迭代枚举中以某些字符开头的值的最有效方法
问题描述
我有一个具有大量值的 Enum 类(与数据库一起使用的翻译键),但在我的情况下,我只需要迭代它的值,例如以字符“c_foo_”开头
什么是最经济有效的方式来做到这一点?
我正在使用 Java 14。
解决方案
您可以使用Stream
枚举值中的 s 来过滤掉您不感兴趣的那些。
Arrays.stream(YourEnum.values())
.filter(e -> e.name().startsWith("c_foo_"))
.forEach(...);
推荐阅读
- javascript - Firestore 离线似乎无法正常工作
- python - 随机生成的迷宫
- python - 根据条件选择数据框列
- database - 在数据库中使用 `@SequenceGenerator` 与自动增量相比有什么优势?
- javascript - JS:获取数字后的子字符串
- asp.net - 如何避免 VB ASP GridView 中的重复?
- node.js - 检查数组中是否存在对象,如果存在则在nodejs mongoose中设置状态为真
- python - 在 Python 中查找两个时间字符串之间的差异
- git - GIT:如果我推送一个不是当前分支的分支会发生什么?
- ios - 选择器函数未在 iOS Swift 中调用