之前常规写法:
@Getter
public enum InventoryTypeEnum {
All(0,"全部"),
ADD(1,"加料"),
BLOW(2,"放料");
private Integer id;
private String name;
InventoryTypeEnum(Integer id, String name) {
this.id = id;
this.name = name;
}
}
代码会报错:
此时在枚举中添加方法:
public static InventoryTypeEnum toType(int id) {
return Stream.of(InventoryTypeEnum.values())
.filter(p -> p.id == id)
.findAny()
.orElse(null);
}
代码中改为:
idea自编译不报错, 经测试也可以用
枚举完整代码:
@Getter
public enum InventoryTypeEnum {
All(0,"全部"),
ADD(1,"加料"),
BLOW(2,"放料");
private Integer id;
private String name;
InventoryTypeEnum(Integer id, String name) {
this.id = id;
this.name = name;
}
public static InventoryTypeEnum toType(int id) {
return Stream.of(InventoryTypeEnum.values())
.filter(p -> p.id == id)
.findAny()
.orElse(null);
}
}