Obtener valores de enumeración como lista de cadenas

Simón :

Tengo el siguiente enumeración y desea convertir a una lista de sus valores de cadena:

@Getter
@AllArgsConstructor
public enum danger{

    Danger("DGR"),
    Normal("NOR");


    /**
     * The value.
     */
    private final String value;
}

Salida deseada: Lista de "DGR" y "ni"

Mi solución actual se parece a:

List<String> dangerlist = Stream.of(DangerousShipment.values())
                .map(Enum::name)
                .collect(Collectors.toList());

El problema es que sólo se puede seleccionar el nombre de la enumeración y no el valor real.

Mureinik:

Añadir un captador para el valor:

public enum DangerShipment {
    // Code from the OP omitted for brevity

    public String getValue() {
        return value;
    }
}

Y utilizarlo en la construcción de la lista:

List<String> dangerlist = Stream.of(DangerousShipment.values())
                                .map(DangerousShipment::getValue)
                                .collect(Collectors.toList());

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=234593&siteId=1
Recomendado
Clasificación