我有一个枚举
public enum Category {
NonResidential("Non-Residential"), Residential("Residential");
private String category;
BuildingAssetCategory(String s) {
category = s;
}
public String getType() {
return category;
}
public void setType(String type) {
this.category = type;
}
}
我想在枚举值的基础上得到它。我有值为Non-Residential
的String
,那么我如何获得返回`NonResidential的枚举。
我想创造自己的魔法,而不是java支持的东西。我读过很多这样的问题,但我想要不同的答案。
这里没有魔法,因为它是您自己的定义字段("类别"),您应该编写自己的静态方法来进行搜索。例如:
public enum Category {
...
public static Category findByName(String cat){
// loop over Category.values() and find the requested cat
}
如果您提供枚举名称(例如"NonResidential"),btw ValueOf将起作用,但它不适用于类别名称(例如,"非住宅")
使用valueOf
。
Category.valueOf("Non-Residential");
这将返回枚举。