«1. Обзор

В этом кратком руководстве мы рассмотрим, как определить, совпадают ли два значения String, когда мы игнорируем регистр.

2. Использование equalsIgnoreCase()

equalsIgnoreCase() принимает другую строку и возвращает логическое значение:

String lower = "equals ignore case";
String UPPER = "EQUALS IGNORE CASE";

assertThat(lower.equalsIgnoreCase(UPPER)).isTrue();

3. Использование Apache Commons Lang

Библиотека Apache Commons Lang содержит класс с именем StringUtils который предоставляет метод, аналогичный описанному выше, но имеет дополнительное преимущество обработки нулевых значений:

String lower = "equals ignore case"; 
String UPPER = "EQUALS IGNORE CASE"; 

assertThat(StringUtils.equalsIgnoreCase(lower, UPPER)).isTrue();
assertThat(StringUtils.equalsIgnoreCase(lower, null)).isFalse();

4. Заключение

В этой статье мы кратко рассмотрели, как определить, являются ли два значения String то же самое, когда мы игнорируем регистр. Теперь все становится немного сложнее, когда мы интернационализируем, поскольку чувствительность к регистру зависит от языка — следите за обновлениями для получения дополнительной информации.

И, как всегда, все примеры кода можно найти на GitHub.