Оператор +
перегружен в компиляторе. Если оба операнда являются числовыми, +
является добавлением. Если оба или оба операнда являются String, +
является конкатенацией строк. (Если один операнд является String, а другой - числовым, число передается в String). Наконец, +
связывается слева направо.
Все это приводит к тому, что составная формула a + b + c + ...
выполняет добавление слева направо, пока не попадет в первый операнд строки, после чего она переключается на конкатенация строк для остальной части формулы. Итак ...
"1" + 2 + 3 + 4 = 1234 /* cat cat cat */
1 + "2" + 3 + 4 = 1234 /* cat cat cat */
1 + 2 + "3" + 4 = 334 /* add cat cat */
1 + 2 + 3 + "4" = 64 /* add add cat */
Я не знаю, как отключить автозаполнение скобок метода - поэтому я не уверен, что вы будете удовлетворены моим ответом. Но чтобы не закончить с
myBool.equals(true);)
, вы можете на самом деле включить (Круглые, [квадратные] и <угловые> скобки
в меню «Настройки» -> Java -> Редактор -> «Ввод». Это вставляет круглые скобки автоматически (что вы, вероятно, не хотите), но вы можете просто продолжать печатать в обычном режиме, как в редакторе без «интеллекта»: ваша закрывающая скобка просто перезапишет автоматически вставленную круглую скобку, поэтому вы не получите );)
.