假設有一個兩個字符String
,它應該代表國家或語言名稱ISO 639。更清晰的方式來檢查一個字符串是ISO ISO國家的ISO語言
你知道,Locale
類有兩個功能getISOLanguages
和getISOCountries
與所有分別爲ISO語言和ISO國家,回報String
數組。
要檢查某個特定的String
對象是否爲有效的ISO語言或ISO國家/地區,我應該在該陣列內部查看匹配的String
。好的,我可以使用二進制搜索(例如Arrays.binarySearch
或ApacheCommons ArrayUtils.contains
)。
的問題是:存在任何效用(例如,從番石榴或阿帕奇百科全書庫),它提供了更清潔的方式,例如返回boolean
以驗證String
爲有效ISO 639語言或ISO 639國家/地區的功能?
例如:
public static boolean isValidISOLanguage(String s)
public static boolean isValidISOCountry(String s)
請記住檢查您的字符串的長度,然後再搜索數組(這種或其他方式) – Dariusz 2013-04-10 08:59:56
當然是的......謝謝! – 2013-04-10 09:00:50
@Dariusz:我不確定我會打擾 - 至少如果做一個哈希查找。除非你期望得到大量的字符串,這需要很長的時間來散列,這似乎是複雜的,沒有證明顯着的好處。 – 2013-04-10 09:02:46