Метод 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