您好,我目前有一个枚举集,想将此枚举集转换为字符串。

所以转换

Set <AlertSide> mySet = Sets.newHashSet(AlertSide.THREAT,AlertSide.TARGET);



'THREAT','TARGET'

最好的方法是什么?我不太喜欢流媒体,但是我认为正确的思路是

mySet.stream().map(Enum::toString).collect(Collectors.joining(","))

但这只给我'THREAT,ALERT'

也许有一种使用Strings.join的方法?

最佳答案

首先,如果您有Set的枚举,则应使用EnumSet(从Java 5开始可用):

Set<AlertSide> mySet = EnumSet.of(AlertSide.THREAT, AlertSide.TARGET);


如果要使用内容为'THREAT','TARGET'的字符串,则需要自己添加单引号:

mySet.stream().map(e -> "'" + e + "'").collect(Collectors.joining(","))


结果

'THREAT','TARGET'

08-04 16:12