Chamada explícita vs implícita de toString
Eu costumava usar a chamada implícita de toString ao desejar algumas informações de depuração sobre um objeto, porque, no caso de o objeto ser nulo, ele não lança uma exceção.
Por exemplo:
System.out.println("obj: "+obj);
ao invés de:
System.out.println("obj: "+obj.toString());
Existe alguma diferença além do caso nulo?
O último caso pode funcionar, quando o primeiro não?
Editar:
O que exatamente é feito, no caso da chamada implícita?