Dies beantwortet die Frage immer noch nicht. Ich suchte auch nach einer Art Enumerator dafür und fand nichts. Einige Beispiele, die hier die Hashtabelle verwenden, entsprechen jedoch dem integrierten get
Ich würde einen anderen Ansatz wählen. Also habe ich ein Skript in Python erstellt, um die Liste automatisch in Java zu generieren:
#!/usr/bin/python
f = open("data.txt", 'r')
data = []
cc = {}
for l in f:
t = l.split('\t')
cc = { 'code': str(t[0]).strip(),
'name': str(t[1]).strip()
}
data.append(cc)
f.close()
for c in data:
print """
/**
* Defines the <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO_3166-1_alpha-2</a>
* for <b><i>%(name)s</i></b>.
* <p>
* This constant holds the value of <b>{@value}</b>.
*
* @since 1.0
*
*/
public static final String %(code)s = \"%(code)s\";""" % c
Dabei handelt es sich bei der Datei data.txt um ein einfaches Kopieren und Einfügen aus der Wikipedia-Tabelle (entfernen Sie einfach alle zusätzlichen Zeilen und stellen Sie sicher, dass Sie einen Ländercode und einen Ländernamen pro Zeile haben).
Dann platzieren Sie dies einfach in Ihrer statischen Klasse:
/**
* Holds <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO_3166-1_alpha-2</a>
* constant values for all countries.
*
* @since 1.0
*
* </p>
*/
public class CountryCode {
/**
* Constructor defined as <code>private</code> purposefully to ensure this
* class is only used to access its static properties and/or methods.
*/
private CountryCode() { }
/**
* Defines the <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO_3166-1_alpha-2</a>
* for <b><i>Andorra</i></b>.
* <p>
* This constant holds the value of <b>{@value}</b>.
*
* @since 1.0
*
*/
public static final String AD = "AD";
//
// and the list goes on! ...
//
}