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