之前常规写法:
@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自编译不报错, 经测试也可以用
枚举完整代码:文章来源:https://www.toymoban.com/news/detail-857904.html
@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);
}
}
参考: 「Java基础入门」Java中switch怎么使用枚举 - 掘金文章来源地址https://www.toymoban.com/news/detail-857904.html
到了这里,关于java jdk8 switch case中无法使用枚举问题解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!