java - 获取枚举值作为字符串列表
问题描述
我有以下枚举,并希望将其转换为其字符串值列表:
@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());
问题是,我只能选择枚举的名称而不是实际值。
解决方案
为该值添加一个 getter:
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());
推荐阅读
- matlab - 如何通过 matlab 函数设置 matlab 类的常量属性?
- typescript - 打字稿:提取嵌套键
- javascript - (带有 D3 的 Javascript)来自 CSV 文件的数据仅被使用一次并第二次返回 undefined 或 NaN
- node.js - 如何在猫鼬的数据库中存储对象数组
- sql - 在 SQL 中替换字符串的某些部分
- sql - SQL Server:从同一张表和不同表中获取日期时使用其他东西而不是联合
- c# - 使用 ASP.NET MVC 5 Entity Framework 通过 URL 将查询字符串值传递给 ActionResult 方法的不同方法
- shell - Shell 脚本:将两行打印为不同的行,但在 csv 文件的同一单元格中
- ubuntu-16.04 - 我无法将 tb-gateway 与 Ubuntu 服务器上的 thingsboard 连接起来
- javascript - Mongodb:如果传递的值为空,如何更新 $min 和 $max