2013-03-25 94 views
1

我在處理這個舊項目時遇到了問題。基本上,這個對象存儲一個枚舉到數據庫,我的問題是我需要獲取存儲枚舉的第一個元素。現在,在你對我表示集合沒有特定順序並且我應該使用一個列表之前,我想告訴你,我不能只是更改代碼,因爲我不知道是什麼樣的它會影響到系統的其他部分。 @ _ @ 該系統大約有3 - 4年的歷史,我是新人......所以,最好做一個工作。如何從Java中的枚舉中獲取第一個元素?

例如:

Enumset<Protocol> protocolsAvailable; 

這裏是什麼樣子時protocolAvailable從數據庫中檢索類似的例子:

[ALPHA,BETA,EPSILON] 

我需要得到的第一要素,這是阿爾法。我可以通過多種方式來完成,將其轉換爲列表,然後使用get(index),或者我可以將其視爲一個字符串並使用.split(「,」)[0] ... eehh ...我不知道,它已經晚了,我想我只是在尋找更好的方法來做到這一點。 :>

回答

5
protocolsAvailable.iterator().next() 

是傳統的做法。

+0

aww ..認真嗎?我試過了,但它不給我alpha,它給了我epsilon。 :( – joannaSmith12 2013-03-25 17:12:38

+1

如果這是一個'java.util.EnumSet',它會給你第一個聲明枚舉的順序。 – 2013-03-25 17:13:48

+0

@ joannaSmith12所以你想在選擇第一個元素之前按字母順序重新排序元素? – 2013-03-25 17:14:21

相關問題