Combinar la definición ISO 4217 (xml) con sus requisitos y la muestra de openJDK7 si quieres todos Monedas. Si iterar sobre las configuraciones regionales predeterminadas que sólo recibe 78 de 180 definido por la norma ISO 4217.
String[] viaLocales = { "JPY", "CNY", "SDG", "RON", "MKD", "MXN", "CAD",
"ZAR", "AUD", "NOK", "ILS", "ISK", "SYP", "LYD", "UYU", "YER", "CSD",
"EEK", "THB", "IDR", "LBP", "AED", "BOB", "QAR", "BHD", "HNL", "HRK",
"COP", "ALL", "DKK", "MYR", "SEK", "RSD", "BGN", "DOP", "KRW", "LVL",
"VEF", "CZK", "TND", "KWD", "VND", "JOD", "NZD", "PAB", "CLP", "PEN",
"GBP", "DZD", "CHF", "RUB", "UAH", "ARS", "SAR", "EGP", "INR", "PYG",
"TWD", "TRY", "BAM", "OMR", "SGD", "MAD", "BYR", "NIO", "HKD", "LTL",
"SKK", "GTQ", "BRL", "EUR", "HUF", "IQD", "CRC", "PHP", "SVC", "PLN",
"USD" };
String[] iso4217WithoutViaLocales = { "XBB", "XBC", "XBD", "UGX", "MOP",
"SHP", "TTD", "UYI", "KGS", "DJF", "BTN", "XBA", "HTG", "BBD", "XAU",
"FKP", "MWK", "PGK", "XCD", "COU", "RWF", "NGN", "BSD", "XTS", "TMT",
"GEL", "VUV", "FJD", "MVR", "AZN", "MNT", "MGA", "WST", "KMF", "GNF",
"SBD", "BDT", "MMK", "TJS", "CVE", "MDL", "KES", "SRD", "LRD", "MUR",
"CDF", "BMD", "USN", "CUP", "USS", "GMD", "UZS", "CUC", "ZMK", "NPR",
"NAD", "LAK", "SZL", "XDR", "BND", "TZS", "MXV", "LSL", "KYD", "LKR",
"ANG", "PKR", "SLL", "SCR", "GHS", "ERN", "BOV", "GIP", "IRR", "XPT",
"BWP", "XFU", "CLF", "ETB", "STD", "XXX", "XPD", "AMD", "XPF", "JMD",
"MRO", "BIF", "CHW", "ZWL", "AWG", "MZN", "CHE", "XOF", "KZT", "BZD",
"XAG", "KHR", "XAF", "GYD", "AFN", "SOS", "TOP", "AOA", "KPW" };
Gracias por la respuesta, tengo una pregunta. Escribí este código, todo funciona bien, pero no puedo encontrar la Moneda AFN de Afganistán, ¿el problema es solo conmigo? ¿Tienes algún consejo para mí? Gracias –
Estoy usando ahora la biblioteca joda-money, eso solucionó el problema. Gracias –
Recomiendo probar que 'Currency.getInstance (Locale locale)' no devuelve 'null' antes de agregar el resultado a su conjunto. Desde [javadocs] (https://docs.oracle.com/javase/7/docs/api/java/util/Currency.html#getInstance (java.util.Locale)): "El método devuelve null para los territorios que no tengo una moneda, como la Antártida ". – snark