Преобразование строки в нижний регистр

Java:
Преобразование строки в нижний регистр

Как это сделать:

Класс String в Java имеет удобный метод toLowerCase(), который делает всю тяжёлую работу за вас. Посмотрите на это простое использование:

public class LowerCaseExample {
    public static void main(String[] args) {
        String original = "Java ROCKS!";
        String lowerCased = original.toLowerCase();
        System.out.println(lowerCased);
    }
}

Вывод:

java rocks!

Вот и всё. Строка превращается в спокойный нижний регистр.

Углубляемся

Когда-то обработка текста была сложным делом. Разные языки, разные регистры, компьютерные системы кричали от путаницы. Java, появившаяся на сцене в 90-х, стремилась упростить вещи. Метод toLowerCase() был частью класса String в Java с незапамятных времён.

Но под капотом есть кое-что интересное. Вы можете задаться вопросом, зачем вообще нужен метод toLowerCase(). Дело в том, что не во всех культурах “нижний регистр” определяется одинаково. Метод чувствителен к локали, использует локаль по умолчанию вашей системы, или вы можете указать её, используя toLowerCase(Locale locale).

Вот ещё один поворот: языки с более изысканными скриптами, как турецкий, имеют специальные символы “без точек” i, которые могут выбросить обычное приведение к нижнему регистру за борт. Поэтому Java предоставляет возможность быть дотошными в преобразовании символов.

Альтернативы? Конечно, вы можете пройтись по строке с циклом for, вручную меняя символы. Но зачем изобретать велосипед, когда Java за вас всё сделала?

К тому же, это может удивить некоторых: строки в Java неизменяемы. Когда вы используете toLowerCase(), вы не изменяете оригинальную строку, вы создаёте новую, целиком и полностью.

Смотрите также

Ознакомьтесь с этими ресурсами, чтобы улучшить свои навыки работы со строками:

  • Java String API:
  • Класс Java Locale:
  • Приведение регистров в Unicode:

И для подробных деталей о Стандарте Unicode:

  • Консорциум Unicode: