我有以下枚举,想将其转换为其字符串值的列表:
@Getter
@AllArgsConstructor
public enum danger{
Danger("DGR"),
Normal("NOR");
/**
* The value.
*/
private final String value;
}
所需的输出:“ DGR”和“ NOR”列表
我当前的解决方案如下:
List<String> dangerlist = Stream.of(DangerousShipment.values())
.map(Enum::name)
.collect(Collectors.toList());
问题是,我只能选择枚举的名称,而不能选择实际值。
答案 0 :(得分:3)
为该值添加一个吸气剂:
public enum DangerShipment {
// Code from the OP omitted for brevity
public String getValue() {
return value;
}
}
并在构造列表时使用它:
List<String> dangerlist = Stream.of(DangerousShipment.values())
.map(DangerousShipment::getValue)
.collect(Collectors.toList());
答案 1 :(得分:1)
这是完整的代码:
ni