字串比較

比較兩個字串忽略大小寫:

"School".equalsIgnoreCase("school"); // true

不要用

text1.toLowerCase().equals(text2.toLowerCase());

語言對轉換大寫和小寫有不同的規則。 ‘I’將用英語轉換為’i’。但在土耳其語中,變成了’ı’。如果你必須使用 toLowerCase() 使用期望 LocaleString.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"}