我不是一个java开发人员.但我现在正在研究Android应用程序开发,所以我做了一些怀旧,在没有触及它三年之后再做一些java.
我期待使用"google-api-translate-java"库.
其中有一个语言类.这是一个enum,允许提供语言名称,并为谷歌翻译获得它的价值.
我可以很容易地得到所有的价值:
for (Language l : values()) {
// Here I loop on one value
}
Run Code Online (Sandbox Code Playgroud)
但我想得到的是所有键名称的列表(法语,英语,......).
是否有类似"keys()"方法的东西允许我遍历所有枚举键?
另一种方法Language.values()是使用EnumSet:
for (Language l : EnumSet.allOf(Language.class))
{
}
Run Code Online (Sandbox Code Playgroud)
如果要在使用集合接口而不是数组的API中使用它,这将非常有用.(它也避免了创建数组开始......但当然需要执行其他工作.这都是权衡取舍.)
在这种特殊情况下,values()可能更合适 - 但至少值得了解它EnumSet.
编辑:从另一个评论判断,你有一个关于toString()被覆盖的担忧- 请致电name():
for (Language l : Language.values())
{
String name = l.name();
// Do stuff here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15615 次 |
| 最近记录: |