2017-05-30 70 views
0

我創建了枚舉類和初始化類,但是當我去實現這些更改時,我嘗試將類型爲enumType的對象添加到對象的數組列表中。爲什麼我要訪問枚舉類型而不創建枚舉初始化類的對象?

public enum inputType { 
    POLNBR, NAME, CLMNBR, PHN; 
} 

public class enumType { 
    inputType type; 

    public enumType(inputType type){ 

     this.type = type; 
    } 
} 

我不明白的是爲什麼我只能以靜態方式工作。含義我只能使用枚舉類屬性添加到數組列表中,而不是實例化所述類的對象。

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

再後來我添加到陣列:

possibilities.add(inputType.POLNBR); 

我是能夠添加一個對象,但我沒能返回對象的屬性,所以這是我唯一的出路能夠使其工作。

  1. 這是使用枚舉類的正確方法嗎?

  2. 有沒有辦法添加對象,然後返回帶有屬性枚舉值的對象?

對不起,我從來沒有試圖利用他們,我想將它們添加到我的劇目。

+2

這就是枚舉定義如何在java中工作.... –

+2

可能的[瞭解Java中的枚舉]的副本(https://stackoverflow.com/questions/1419835/understanding-enums-in-java) –

+0

枚舉是靜態的,因爲他們故意單身。 –

回答

2

您在嘗試使用ArrayList之前正確使用枚舉。要設置枚舉的inputType的價值在你的enumType對象所有你需要做的就是通過調用構造函數創建enumType對象的新實例,這裏有一個簡單的例子:

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

有關Java的枚舉的更多信息請參閱this