Разница между System.out.printf и String.format
Могу ли я узнать, в чем разница между ними в java? я читаю книгу, и она может либо использовать их для отображения строк.
Ответы
Ответ 1
первый пишет в stdout и второй возвращает объект String
.
Что использовать зависит от единственной цели. Если вы хотите отобразить строку в stdout (консоли), используйте первый. Если вы хотите получить дескриптор форматированной строки для дальнейшего использования кода, используйте вторую.
Ответ 2
String.format
возвращает новую строку, а System.out.printf
просто отображает только что отформатированную строку String to System.out, иногда называемую консолью.
Эти два фрагмента кода функционально эквивалентны:
String formattedString = String.format("%d is my favorite number", 42);
System.out.print(formattedString);
и
System.out.printf("%d is my favorite number", 42);
Ответ 3
String.format
форматирует строки, не отображает их. Я думаю, вы имеете в виду System.out.println(String.format("......", ....))
или какую-то аналогичную конструкцию?
Ответ 4
String.format
возвращает форматированную строку. System.out.printf
также печатает форматированную строку.
Ответ 5
Эти два метода демонстрируют то же самое поведение. Мы можем использовать формат (...) со String, Java.util.Formatter(J2SE 5), а также с PrintWriter.