java - 类中的枚举助手 (Java)

标签 java enums

如果我有一个Enum作为Java类中的帮助器,有什么方法可以在类之外引用该Enum有帮助吗?

基本上,我所拥有的是:

class Account extends MyClass {
    HashMap<Property, String> property = new HashMap<Property, String>();
    public Account() {
    }

    public enum Property {
        USERID,
        PASSWORD;
    }
}

我希望能够访问 Account 类之外的 Property 枚举。

我想要这样做的原因是因为这是另一个的子类,并且我希望能够访问给定子类的属性,而无需引用唯一的枚举名称(即:而不将每一个都称为 AccountPropertyResearchPropertyTaskProperty 等)。

最佳答案

您的枚举是公共(public)​​的,因此您可以使用 Account.PropertyAccount 类外部访问它

编辑:

如果我得到了你需要的东西,你会想做类似的事情

Property p = Account.Property.PASSWORD;
Property p1 = Product.Property.CODE;

产品在哪里

public class Product extends MyClass{
    HashMap<Account.Property, String> property = new HashMap<>();
    public Product() {
    }

    public static enum Property {
        CODE,
        PRICE;
    }
}

并且您想在 MyClass 中执行此操作。

问题是这两行都需要导入,并且不能导入两个同名的类,所以唯一的解决方案是这样做

Account.Property p = Account.Property.PASSWORD;
Product.Property p1 = Product.Property.CODE;

我猜您必须处理 instanceof 才能为每个类使用正确的 Property 枚举,因为无法扩展枚举!

关于java - 类中的枚举助手 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10666881/

相关文章:

java - 比较java单元文本中的Xml,忽略节点中的属性

java - Java 开发者视角下的 Django

java - Jackson:将枚举值序列化和反序列化为整数

php - 如何使用 laravel 枚举、额外属性和本地化

c# - 带注解的 Enum.Parse

java - 如何检查数组中的复选框是否为空?

java - 依赖于多个子类实例的实例创建模式

java - 如何从Java在控制台上编辑文件?

string - Swift:将枚举值转换为字符串?

c++ - 枚举 "ghost values": what for?