When one of the two operands is not a string, it is converted to a String as follows:
- an operand whose type is a primitive type is converted as if by calling
toString()
on the boxed value. - an operand whose type is a reference type is converted by calling the operand’s
toString()
method. - if the operand is
null
, or if thetoString()
method returnsnull
, then the string literal “null” is used instead.