字串比較
比較兩個字串忽略大小寫:
"School".equalsIgnoreCase("school"); // true
不要用
text1.toLowerCase().equals(text2.toLowerCase());
語言對轉換大寫和小寫有不同的規則。 ‘I’將用英語轉換為’i’。但在土耳其語中,我變成了’ı’。如果你必須使用 toLowerCase()
使用期望 Locale
:String.toLowerCase(Locale)
的過載。
比較兩個字串忽略微小差異:
Collator collator = Collator.getInstance(Locale.GERMAN);
collator.setStrength(Collator.PRIMARY);
collator.equals("Gärten", "gaerten"); // returns true
對字串進行排序,遵循自然語言順序,忽略大小寫(使用排序鍵:
String[] texts = new String[] {"Birne", "äther", "Apfel"};
Collator collator = Collator.getInstance(Locale.GERMAN);
collator.setStrength(Collator.SECONDARY); // ignore case
Arrays.sort(texts, collator::compare); // will return {"Apfel", "äther", "Birne"}