मान लीजिए कि दो वर्ण String
हैं, जो आईएसओ 639 देश या भाषा नाम का प्रतिनिधित्व करना चाहिए।यह जांचने के लिए क्लीनर तरीका है कि कोई स्ट्रिंग जावा में आईएसओ भाषा का आईएसओ देश है
तुम्हें पता है, Locale
वर्ग दो कार्य getISOLanguages
और getISOCountries
कि सभी आईएसओ भाषाओं और आईएसओ देशों में क्रमश: साथ String
की एक सरणी वापसी है।
यह जांचने के लिए कि कोई विशिष्ट String
ऑब्जेक्ट एक वैध आईएसओ भाषा या आईएसओ देश है, मुझे String
मिलान के लिए उस सरणी के अंदर देखना चाहिए। ठीक है, मैं इसे बाइनरी खोज (उदा। Arrays.binarySearch
या अपाचे कॉमन्स ArrayUtils.contains
) का उपयोग करके कर सकता हूं।
सवाल यह है: कि एक क्लीनर तरीका प्रदान करता है, उदाहरण के लिए (अमरूद या अपाचे कॉमन्स पुस्तकालयों से उदा) किसी भी उपयोगिता मौजूद है एक ऐसा कार्य जो boolean
को String
मान्य आईएसओ 639 भाषा या आईएसओ 639 देश के रूप में मान्य करने के लिए देता है?
उदाहरण के लिए:
public static boolean isValidISOLanguage(String s)
public static boolean isValidISOCountry(String s)
सरणी (यह या अन्य तरीका) – Dariusz
खोज करने से पहले अपनी स्ट्रिंग की लंबाई जांचना याद रखें हां बिल्कुल ... धन्यवाद! –
@Dariusz: मुझे यकीन नहीं है कि मैं परेशान होगा - कम से कम यदि हैश लुकअप कर रहा हूं। जब तक आप बड़े तारों को देने की उम्मीद नहीं करते हैं, जो हैश के लिए काफी समय लेते हैं, यह किसी भी महत्वपूर्ण लाभ के लिए जटिलता की तरह प्रतीत होता है। –