1. Обзор
В этом руководстве мы рассмотрим методы toUpperCase
и toLowerCase
, включенные в класс Java String .
Мы начнем с создания строки
с именем name
:
String name = "John Doe";
2. Преобразовать в верхний регистр
Чтобы создать новую строку
в верхнем регистре на основе имени
, мы вызываем метод toUpperCase
:
String uppercaseName = name.toUpperCase();
Это приводит к тому, что uppercaseName
имеет значение «JOHN DOE»
:
assertEquals("JOHN DOE", uppercaseName);
Обратите внимание, что строки неизменяемы
в Java, и вызов toUpperCase
создает новую строку
. Другими словами, name
не изменяется при вызове toUpperCase
.
3. Преобразовать в нижний регистр
Точно так же мы создаем новую строчную строку
на основе имени
, вызывая toLowerCase
:
String lowercaseName = name.toLowerCase();
Это приводит к тому, что lowercaseName
имеет значение «john doe»
:
assertEquals("john doe", lowercaseName);
Как и в случае с toUpperCase
, toLowerCase
не изменяет значение name
.
4. Изменить регистр с помощью локалей
Кроме того, предоставляя Locale
для методов toUpperCase
и toLowerCase
, мы можем изменить регистр строки
, используя правила, специфичные для локали.
Например, мы можем предоставить Locale
для турецкого i
в верхнем регистре (Unicode 0069
) :
Locale TURKISH = new Locale("tr");
System.out.println("\u0069".toUpperCase());
System.out.println("\u0069".toUpperCase(TURKISH));
Соответственно, это приводит к заглавной букве I
и заглавной букве I
с точкой :
I
İ
Мы можем проверить это, используя следующие утверждения:
assertEquals("\u0049", "\u0069".toUpperCase());
assertEquals("\u0130", "\u0069".toUpperCase(TURKISH));
Точно так же мы можем сделать то же самое для toLowerCase,
используя турецкий I
(Unicode 0049
):
System.out.println("\u0049".toLowerCase());
System.out.println("\u0049".toLowerCase(TURKISH));
Следовательно, это приводит к нижнему регистру i
и нижнему регистру без точек i
:
i
ı
Мы можем проверить это, используя следующие утверждения:
assertEquals("\u0069", "\u0049".toLowerCase());
assertEquals("\u0131", "\u0049".toLowerCase(TURKISH));
5. Вывод
В заключение, класс Java String включает методы
toUpperCase
и toLowerCase
для изменения регистра строк
. При необходимости можно указать Locale
для предоставления правил, специфичных для языкового стандарта, при изменении регистра строки.
Исходный код этой статьи, включая примеры, можно найти на GitHub .