您好,我目前有一个枚举集,并且想将此枚举集转换为字符串。
所以转换
Set <AlertSide> mySet = Sets.newHashSet(AlertSide.THREAT,AlertSide.TARGET);
至
'THREAT','TARGET'
最好的方法是什么?我不太熟悉流,但我相信正确的思路是这样的
mySet.stream().map(Enum::toString).collect(Collectors.joining(","))
但这只提供了我'THREAT,ALERT'
也许有一种使用 Strings.join 的方法?
最佳答案
首先,如果您有一组枚举,则应该使用 EnumSet
(自 Java 5 起可用):
Set<AlertSide> mySet = EnumSet.of(AlertSide.THREAT, AlertSide.TARGET);
如果你想要一个内容为'THREAT','TARGET'
的字符串,那么你需要自己添加单引号:
mySet.stream().map(e -> "'" + e + "'").collect(Collectors.joining(","))
结果
'THREAT','TARGET'
关于JAVA:将枚举集转换为由列表和引号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60876632/