我有这个枚举
public enum TornadoType {
@SerializedName("RADAR INDICATED")
RADAR_INDICATED("#ef8540", "RADAR INDICATED"),
@SerializedName("OBSERVED")
OBSERVED("#ff0000", "OBSERVED"),
@SerializedName("POSSIBLE")
POSSIBLE("#fdf151", "POSSIBLE");
private final String color;
@Getter
private final String type;
public int getColor() {
return Color.parseColor(color);
}
TornadoType(String color, String name) {
this.color = color;
this.type = name;
}
}
我正在尝试反序列化这样的枚举值
TornadoType tornadoType = new Gson().fromJson("RADAR INDICATED", TornadoType.class);
但是我一直在获得tornadoType
的空值。我也在下面尝试过
java.lang.reflect.Type type = new TypeToken<TornadoType>() {
}.getType();
TornadoType tornadoType = new Gson().fromJson("RADAR INDICATED", type);
return tornadoType.getColor();
这似乎也不适合我。我正在Android上使用gson 2.8版。每个Google搜索都说Enum
反序列化是开箱即用的,它应该可以正常工作。我在做什么错了?