Скажем, у меня есть две переменные char
, а позже я хочу объединить их в строку. Вот как я это сделаю:
char c1, c2;
// ...
String s = "" + c1 + c2;
Я видел людей, которые говорят, что трюк "" +
"уродлив" и т.д., и вместо этого вы должны использовать String.valueOf
или Character.toString
. Я предпочитаю эту конструкцию, потому что:
- Я предпочитаю использовать функцию языка вместо вызова API, если это возможно
- В общем, не является ли язык более стабильным, чем API?
- Если функция языка только скрывает вызов API, то еще более сильная причина предпочесть его!
- Больше абстрактных! Скрытие - это хорошо!
- Мне нравится, что
c1
иc2
визуально находятся на одном уровне-
String.valueOf(c1) + c2
предлагает что-то особенное оc1
-
- Это короче.
Есть ли хороший аргумент, почему String.valueOf
или Character.toString
предпочтительнее "" +
?
Общая информация: в java.lang.AssertionError
следующая строка появляется 7 раз, каждый с другим типом:
this("" + detailMessage);