关于java:为什么我不访问枚举初始化类的对象就访问枚举类型?

Why do I access enumeration types without creating objects of the enum initialization class?

我创建了枚举类和初始化类,但在执行这些更改时,我尝试将EnumType类型的对象添加到对象数组列表中。

1
2
3
4
5
6
7
8
9
10
11
12
public enum inputType {
    POLNBR, NAME, CLMNBR, PHN;
}

public class enumType {
    inputType type;

    public enumType(inputType type){

        this.type = type;
    }
}

我不明白的是为什么我只能让它以静态的方式工作。这意味着我只能通过使用枚举类属性而不是实例化该类的对象来添加到数组列表中。

1
private List<inputType> possibilities = new ArrayList<inputType>();

然后我添加到数组中:

1
possibilities.add(inputType.POLNBR);

我可以添加一个对象,但是我不能返回对象属性,所以这是我使它工作的唯一方法。

  • 这是使用枚举类的正确方法吗??

  • 是否有方法添加对象,然后返回具有属性枚举值的对象?

  • 抱歉,我从未尝试过使用它们,我正在尝试将它们添加到我的剧目中。


    在尝试使用ArrayList之前,您正确地使用了枚举。要在EnumType对象中设置Enum输入类型的值,只需通过调用构造函数创建EnumType对象的新实例,以下是一个简单的示例:

    1
    2
    enumType e = new enumType(inputType.NAME);
    // You can also replace it with the value you want

    有关Java中枚举的更多信息,请参阅此。