From explanation:
Is it true? I thought that String.valueOf(x) method is called on operand instead of just toString... That's why concatenation operation is null-safe.1. When one of the operands of the + operator is a String and other is an object (other than String), toString method is called on the other operand and then both the Strings are concatenated to produce the result of the operation.