当前位置: 首页 > 知识库问答 >
问题:

如何在值的基础上获得枚举?[副本]

梁季
2023-03-14

我有枚举

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;
}
}

共有1个答案

葛深
2023-03-14

这里没有魔法,因为它是您自己定义的字段('category'),所以您应该编写自己的静态方法来根据它进行搜索。例如:

public enum Category {
  ...
        public static Category findByName(String cat){
            // loop over Category.values() and find the requested cat
        }

如果提供枚举名称(例如“非住宅”),则btw ValueOf将起作用,但对于类别名称(例如“非住宅”)则不起作用

 类似资料:
  • 问题内容: 假设你有 怎么能代表星期日是0,星期三是3等? 问题答案: 但是请注意,如果您更改声明中的枚举常量的顺序,则此值将更改。解决此问题的一种方法是将int值自定义为所有枚举常量,如下所示:

  • 枚举是一组命名的整型常量。枚举类型使用 enum 关键字声明。 C# 枚举是值的数据类型。换句话说,枚举包含它自己的值,不能继承或被继承。 声明枚举变量 用于声明枚举的一般语法: enum <enum_name> { enumeration list }; 这里 enum_name 指定枚举类型名称。 enumeration list 是一个逗号分隔的标识符的列表。 每个枚举列表中的符号表

  • 问题内容: 如何确定Swift枚举中的个案数? (我想避免手动枚举所有值,或者尽可能避免使用旧的“enum_count技巧”。) 问题答案: 从Swift 4.2(Xcode 10)开始,您可以声明符合协议,这适用于所有没有关联值的枚举: 现在可以简单地通过 有关更多信息,请参见 SE-0194枚举案例的派生集合

  • 问题内容: 我想知道在Java中是否可以嵌套枚举。 在这里,我想做的是: 拥有一个由CAT和DOG组成的物种,将允许我访问可用CAT和DOG品种的子枚举。例如,我希望能够测试是否装有CAT或DOG,以及动物是否是PERSAN CAT或PITBULL狗。CAT和DOG品种必须是不同的枚举,即CatBreeds枚举和DogBreeds枚举。 这是我要使用的访问模式的示例: 种类: 物种 种狗 品种:

  • 是否有一种内置的方法来获取Enum的项目数,例如, 或者我必须根据元素的数量实现一个函数?

  • 问题内容: 如果我有一个带有原始值的枚举: 如何将值转换为字符串?语言中是否可用这种类型名称自省? 类似的东西(此代码将不起作用): 问题答案: 从Xcode 7 beta 5(Swift版本2)开始,您现在可以默认使用来打印类型名称和枚举大小写,或者使用的初始值设定项或字符串插值语法转换为。因此,对于您的示例: 因此,不再需要定义和维护一个方便函数,该函数在每种情况下都可以打开以返回字符串文字。