Java如何将枚举值用指定字符包裹,输出指定格式的字符串
解决方案
1. 仅添加方括号包裹
Collectors.joining 支持三参数重载,分别对应「分隔符」「前缀」「后缀」,直接传入方括号作为前后缀即可:
System.out.println(Arrays.stream(Property.values()) .map(Property::name) .collect(Collectors.joining(",", "[", "]")));
2. 按指定顺序输出+方括号包裹
如果枚举默认的values()返回顺序和需求的输出顺序不一致,可以先自定义排序规则再拼接:
// 预先定义要求的输出顺序 List<String> sortOrder = Arrays.asList("BUZZ", "DUCK", "PALINDROMIC", "GAPFUL", "SPY", "EVEN", "ODD", "SQUARE", "SUNNY"); System.out.println(Arrays.stream(Property.values()) .map(Property::name) // 按预设顺序排序 .sorted(Comparator.comparingInt(sortOrder::indexOf)) .collect(Collectors.joining(",", "[", "]")));
内容的提问来源于stack exchange,提问作者Ofentse Nglazi
相关产品推荐
相关产品推荐

