文字列のリストとして列挙型の値を取得します。

サイモン:

私は、次の列挙型を持っているし、その文字列値のリストに変換したいです:

@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());

問題は、私は唯一の実際の値列挙型の名前を選択することができず、です。

Mureinik:

値のゲッターを追加します。

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());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=234590&siteId=1