我需要将一组枚举转换为一组字符串,这怎么可能?
public enum Example {
A,
B,
C
}
Set<Example> setOfExamples;
Set<String> setOfExamplesString;
setOfExamples.add(Example.A);
setOfExamples.add(Example.B);
setOfExamples.add(Example.A);
setOfExamples.add(Example.C);
Run Code Online (Sandbox Code Playgroud)
现在我想保存(转换)setOfExamples到setOfExamplesString.
我会流式传输一组枚举,将它们映射到字符串,然后将它们收集到一个集合中:
Set<String> setOfExamplesString =
setOfExamples.stream().map(Example::name).collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)
编辑:
为了解决评论中的问题,可以在 8 之前的 Java 版本中使用直接循环来完成同样的事情,尽管恕我直言,它不会那么优雅:
Set<String> setOfExamplesString = new HashSet<>()
for (Example e : setOfExample) {
setOfExampleString.add(e.name());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
468 次 |
| 最近记录: |