gpt4 book ai didi

java - 将枚举列表转换为具有匹配枚举值的逗号分隔字符串

转载 作者:太空宇宙 更新时间:2023-11-04 09:28:51 25 4
gpt4 key购买 nike

我有一个枚举值列表,如周一、周二、周三等,同样需要转换为逗号分隔的字符串。需要使用 Java 8 以有效的方式对其进行转换。例如。

Arrays.stream(Days.values())
.map(MON -> TimeRangeConstants.MON)
.collect(Collectors.joining(","));
enum Days {
MON, TUE, WED, THU, FRI, SAT, SUN;
}

main() {
Days v1 = Days.MON;
Days v2 = Days.WED;
Days v3 = Days.FRI;
List<Days> days = new ArrayList<>();
days.add(v1);
days.add(v2);
days.add(v3);
String str = convertToString(days);
}


convertToString(List<Days> list) {
// need to return String as "Monday, Wednesday, Friday"
}

对于上面给出的示例,我需要输出为“星期一、星期三、星期五”

最佳答案

您必须将枚举编辑为:

enum Days {
MON("Monday"), TUE("Tuesday"), WED("Wednesday")
;
private String val;
Days(String val) {
this.val = val;
}
@Override
public String toString() {
return val;
}
}

如果您有权访问较新的stream()方法,您可以执行以下操作:

final String s = String.join(",", list.stream().map(Object::toString).collect(Collectors.toList());
System.out.println("s = " + s);

关于java - 将枚举列表转换为具有匹配枚举值的逗号分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57362658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com