2013-03-25 375 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