有没有欧洲国家和语言的java Enum?

Phi*_*ppe 6 java enums internationalization

是否有任何java(> 5)枚举用于在某个地方列出欧洲国家和语言?如果没有,我可能会从这个列表中写出来:http://www.nationsonline.org/oneworld/european_languages.htm

但如果我能避免这种负担,那就太好了!

PS:最后,我开始在geonames.org上使用geoNames webservice.对于我在Groovy中使用此代码段的国家/地区:

import org.geonames.*

ToponymSearchCriteria sc = new ToponymSearchCriteria()
sc.setContinentCode("eu")
sc.setFeatureCode("PCLI")
def res = WebService.search(sc)
def countries = res.getToponyms().collect{it.countryName}.sort()
Run Code Online (Sandbox Code Playgroud)

Tim*_*mwi 15

专业框架设计师不太可能在他们的图书馆中包含这样的Enum,因为这组国家(以及政治认可的官方语言集合)一直在变化.您要么必须打破向后兼容性,要使Enum对于应该工作超过几年的软件毫无用处,或者您必须在Enum中保留旧的,不再认可的国家/地区和语言.

  • 我认为,这个太阳系中的行星发生变化的可能性远低于欧洲政治上公认的国家。 (3认同)
  • 没什么是永远的,老兄.我们能在这个太阳系中得到行星的枚举吗?根据Joshua Bloch的说法,是的 - 他在他的书中将其作为Java的最佳建议.根据你们的说法,noooooo. (2认同)

bar*_*jak 7

也许Locale.getISOCountries()并且Locale.getISOLanguages()会帮助你.


irr*_*ble 7

使用枚举存储一些相当稳定的数据没有错.你还能做什么,把它存储在XML中?怎么样更好?所以你不必重新编译(这是一个huuuge麻烦)?我们哪一年住在哪里?

或者将其存储在数据库中; 当一个新的国家诞生时,我们只需要在数据库中插入一行,并且智能编写的应用程序将加载它并立即使用它 - 无需重新启动应用程序!欢呼.

即使对于欧洲来说,这也是一种矫枉过正.我确信他们不会比我们重新部署我们的应用程序更频繁地更改国家/地区,在任何现代公司中,应用程序每周至少发生一次.

没什么是永远的,老兄.我们能在这个太阳系中得到行星的枚举吗?根据Joshua Bloch的说法,是的 - 他在他的书中将其作为Java的最佳建议.根据你们的说法,noooooo.

好吧,至少我们只能发现新的行星,我们不能破坏旧的行星(在任何可预见的未来),所以行星枚举就可比性而言是对的,对吧?

告诉冥王星.

  • 感谢您的评论,我对“不是那么完美的设计决定仍然可以完成工作”的世界感到孤独:-) (2认同)