Там нет никакой разницы с точки зрения выхода она производит. Переменная result
будет иметь одно и то же содержимое в каждом случае.
Но есть String.format()
, так что вы можете сделать более мощное форматирование, включая указание числа десятичных знаков для чисел с плавающей запятой и тому подобное.
Я ожидал бы, что версия String.format()
будет относительно медленной, просто потому, что она более мощная и должна проверять содержимое строки формата перед выполнением практически той же операции, что и в вашей второй версии. Другими словами, он должен потратить некоторое время на разработку того, что вы хотите сделать, тогда как во второй версии компилятор может решить эту проблему сам по себе.
Но, действительно, выбор одного из ваших фрагментов над другим здесь по соображениям производительности выглядит как микро-оптимизация, которая почти никогда не окупится. Если у вас нет четкой потребности в производительности (т. Е. Это работает в узком цикле для чего-то критичного для производительности), вы должны пойти на тот, который более читабельен.
Есть некоторые результаты здесь: [Должен ли я использовать String.format(), если производительность важна?] (Http://stackoverflow.com/questions/513600/should-i-use-javas-string-format- if-performance-is-important) – Obicere