Мне просто интересно, я всегда использовал первую версию, но столкнулся со вторым вариантом в нашей старой кодовой базе.
Есть ли какие-либо опасности, связанные со вторым вариантом? Они взаимозаменяемы?
Мне кажется странным превращаться в String, просто делая variable + "";
Спасибо!




В Java строки имеют специальный оператор +, который является конкатенацией. Если операнды конкатенации не являются строками, вызывается их соответствующий метод .toString, и если это значение равно null, "нулевая" строка объединяется. Большинство современных JIT-компиляторов или даже компиляторов могут решить использовать построитель строк. Таким образом, единственная опасность здесь заключается в том, что вы создаете лишние объекты, которые отбрасываются. Кроме того, этот код может быть менее читаемым или более запутанным.
1) Без опасностей, 2) взаимозаменяемы.