Основное отличие методов toUpperCase() и toUpperCase(Locale locale) в Java в том, что первый использует локализацию по умолчанию системы, а второй позволяет указать конкретную локализацию. 12
toUpperCase() преобразует символы строки в верхний регистр, используя локализацию по умолчанию системы или JVM. 1
toUpperCase(Locale locale) позволяет указать точную локализацию для преобразования. 1 Это полезно, например, при работе с текстом для пользователей из разных стран. 1 Так, если нужно обработать текст на турецком языке, можно передать Locale('tr') для правильной обработки специальных букв, таких как «ı» или «İ». 1
Таким образом, метод toUpperCase(Locale locale) предназначен для ситуаций, когда требуется точный контроль над процессом преобразования, а toUpperCase() подходит для работы с текстом на одном языке, где достаточно локализации по умолчанию. 1