¿Cuándo puedo usar el operador "=="?
He encontrado una cita de jls:
Los operadores de igualdad pueden usarse para comparar dos operandos que son convertibles (§5.1.8) a tipo numérico, o dos operandos de tipo booleano o booleano, odos operandos que son de tipo de referencia o de tipo nulo. Todos los demás casos dan como resultado un error en tiempo de compilación.
Pero este código
String str= "";
Number num = 1;
System.out.println(str == num);
¡cada operando es referencia!
dijo que se trata de tipos incompatibles.
¿Dónde dijo en jls que estos tipos deberían ser compatibles?