Следующий код Котлина:
val x = null + null
приводит к тому, что x
имеет тип String
, что является правильным, как в соответствии с документами для String.plus
:
Объединяет эту строку со строковым представлением данного [другого] объекта. Если либо приемник, либо [другой] объект являются нулевыми, они представляются в виде строки "null".
Однако я не понимаю, почему это происходит - это из-за какой-то особой особенности языка?