Java String toUpperCase()

Метод toUpperCase() является членом класса java.lang.String. Метод toUpperCase() преобразует строку, заменяя все строчные символы на соответствующие им заглавные, оставляя любые символы, которые уже находятся в верхнем регистре, неизменными.

См. также: Метод String toLowerCase()

1. Метод String.toUpperCase()

Метод toUpperCase() является перегруженным методом. Он принимает необязательный аргумент типа Locale.

  • При передаче информации о локали метод возвращает новую строку после преобразования всех буквенных символов в верхний регистр в соответствии с указанными правилами локали.
  • Если информация о локали НЕ передается, применяются правила локали по умолчанию.
public String toUpperCase() //Uses default Locale rulespublic String toUpperCase(Locale locale) //Optional Locale information

Давайте начнем с очень простого примера, чтобы понять использование метода toUpperCase().

String original = "Hello, World!";String upperCase = original.toUpperCase();//String upperCase = original.toUpperCase(Locale.US); //Optional Locale informationSystem.out.println(upperCase); // Output: HELLO, WORLD!

Как показано выше, метод toUpperCase() преобразует все буквы в строке в заглавные, что делает его удобным инструментом для различных задач по манипулированию строками.

Метод toUppercase() эквивалентен вызову метода toUpperCase(Locale.getDefault()), который использует текущие правила Locale.

2. String.toUpperCase() с пользовательской локалью

Следующая программа Java преобразует строку в верхний регистр, используя Locale.US. При запуске этого кода греческая строка «Γειά σου Κόσμε» преобразуется в верхний регистр, используя правила локали США.

String uppercaseString = "Γειά σου Κόσμε".toUpperCase(Locale.US);System.out.println(uppercaseString);

Результат будет следующим:

ΓΕΙΆ ΣΟΥ ΚΌΣΜΕ

3. Использование метода toUpperCase()

Мы можем использовать строки в верхнем регистре во многих реальных задачах при обработке данных.

Например, когда нам нужно отсортировать список строк без учета регистра, мы можем использовать toUpperCase() в сортировочном Comparator. Это гарантирует, что сортировка будет выполнена без учета регистра букв.

List<String> names = Arrays.asList("alice", "Bob", "charlie", "dave");Collections.sort(names,(s1, s2) -> s1.toUpperCase().compareTo(s2.toUpperCase()));System.out.println(names); // Output: [alice, Bob, charlie, dave]

Аналогично мы можем использовать toUpperCase() для выполнения поиска строк без учета регистра. Мы можем преобразовать как поисковый запрос, так и целевую строку в верхний регистр. Использование toUpperCase() гарантирует, что поиск не будет чувствителен к регистру.

String text = "Java is a powerful programming language";String searchTerm = "java";if(text.toUpperCase().contains(searchTerm.toUpperCase())) {System.out.println("Match found!");} else {System.out.println("Match not found.");}

4. Длина исходной и заглавной строки может быть разной.

Обратите внимание, что длина исходной строки и верхней строки может отличаться из-за нескольких символов, специфичных для локали.

В этом примере у нас есть строка «straße», что означает «улица» на немецком языке. Когда мы преобразуем ее в верхний регистр с использованием немецкой локали(Locale.GERMAN), символ 'ß' преобразуется в 'SS'.

String originalText = "straße"; // German word for "street"String uppercaseText = originalText.toUpperCase(Locale.GERMAN); // Using the German localeSystem.out.println("Original Text: " + originalText);System.out.println("Uppercase Text: " + uppercaseText);System.out.println("Original Length: " + originalText.length());System.out.println("Uppercase Length: " + uppercaseText.length()); 

Вывод программы:

Original Text: straßeUppercase Text: STRASSEOriginal Length: 6Uppercase Length: 7 

Таким образом, при работе с методом toLowerCase() в Java и учете символов, специфичных для локали, важно помнить, что длина результирующей строки не всегда может быть одинаковой.

Ссылки:Строка Java Doc

Исходный код на Github

Прокрутить вверх