मैंने दो स्ट्रिंग्स की तुलना करने के लिए एक जावा प्रोग्राम बनाया:
String s1 = "Hello";
String s2 = "hello";
if (s1.equals(s2)) {
System.out.println("hai");
} else {
System.out.println("welcome");
}
यह "स्वागत" प्रदर्शित करता है। मैं समझता हूं कि यह संवेदनशील है। लेकिन मेरी समस्या यह है कि मैं केस सेंसिटिविटी के बिना दो स्ट्रिंग्स की तुलना करना चाहता हूं। यानी मुझे उम्मीद है कि आउटपुट होगा hai
।
s1.equalsIgnoreCase(s2)
हैं तो आप इसे हर जगह करने में विफल हो सकते हैं, इसे करने की आवश्यकता है। मेरा सुझाव है कि आप पाते हैं कि स्ट्रिंग कहाँ से आती है - एक फ़ाइल या डेटाबेस या उपयोगकर्ता इनपुट शायद - और या तो अपरकेस (या लोअरकेस) में कनवर्ट करें और तुलना के लिए।
equalsIgnoreCase
दृष्टिकोण का उपयोग करें । तुर्की I समस्या और इसी तरह के यूनिकोड मुद्दों पर तर्क के लिए पढ़ें।
equalsIgnoreCase
वैसे भी तुर्की के लिए गलत मान लौटाता है, क्योंकि यह "i" और "I" की तुलना करने के लिए सही है, भले ही यह गलत वापस आ जाए। इसलिए मुझे संदेह है कि यदि आप स्थानों को ध्यान में रखना चाहते हैं, Collator
तो वास्तव में जाने का रास्ता है।
toLowerCase
/ toUpperCase
करना और इसे प्रति-चरित्र करना दो अलग परिणाम देता है।