Ответ 1
Нет, нет. Но, согласно Документам по Java:
Конверсии, обозначенные символом верхнего регистра (т.е. "B", "H", "S", "C", "X", "E", "G", "A" и "T" ) те же, что и для соответствующих символов преобразования нижнего регистра, за исключением того, что результат преобразуется в верхний регистр в соответствии с правилами преобладающего
Locale
. Результат эквивалентен следующему вызовуString.toUpperCase()
Другими словами, следующее
String result = String.format("%S", "Hi James!");
эквивалентно
String result = String.format("%s", "Hi James!").toUpperCase();
Итак, если вы хотите получить строчную строку, вы можете просто сделать:
String result = String.format("%s", "Hi James!").toLowerCase();
Оптимизация не будет выполнена путем преобразования с использованием флага.