Java будет / имел всегда при конкатенации строки преобразует нулевые объекты в строку нулевой. через String.valueOf.
Java знает, что она объединяется в строку, поэтому даже если нулевое значение находится в начале (не в конце) выражения, оно все равно преобразует его в нулевое.
вы не получите nullpointerException, так как никакая операция не вызывается для нулевого объекта. Немного странно, я знаю. но это то, что есть.
ссылка: concat null и String