Разница между '+' и ',' в методе System.out.println();

161
23 февраля 2018, 18:08

Часто замечал, что если я провожу какие-то математические операции с какой-то переменной, то вывести её с помощью

System.out.println("integer: ", var);

я не могу, разве что так:

System.out.println("integer: ")

System.out.println(var);

A с помощью

System.out.println("integer: "+ var)

делаю это без проблем. В чём разница между + и ,? Пробовал поискать что-то об этом, но либо плохо искал, либо такой глупостью никто не интересовался)

Answer 1

Когда пишешь запятую, ты перечисляешь передаваемые функции параметры. А так как сигнатура System.out.println() поддерживает лишь один аргумент (можно посмотреть в java doc какие именно. Кстати, есть сигнатура без аргументов), очевидно нельзя передать ей несколько параметров. А знак + это конкатенация строк (в println() автоматически у конкатенируемых объектов будет вызван метод toString()).

Answer 2

Для этого нужно использовать printf:

printf("Hello %s!", "World"); //  "Hello World!"
READ ALSO
StringBuffer и строки

StringBuffer и строки

Как мне разделить слова, тоесть работать с каждым словом?Как -то добавить их в массив, изменить,а потом вставить назад и вывести содержимое...

191
Espresso android. Работа с RecycleView

Espresso android. Работа с RecycleView

У меня есть RecyclerView с некоторыми элементамиМогу ли я получить количество всех элементов? Или все значения массива для записи и использования...

139
Определение SerialPort устройства по Vid&Pid

Определение SerialPort устройства по Vid&Pid

Пишу программу для работы с com-портами на LinuxНадо подключиться к устройству через serial port, знаю его vid и pid

182