O que acontece é que String é uma classe e, portanto, para obter as informações referente a mesma, é necessário a utilização de métodos (ver encapsulamento em UML).
C
ClodoaldoJR
O método toString(); vem de java.lang.Object, no caso todas as suas classes java herdam este método e podem reimplementá-lo. Ao meu entendimento ele é bastante útil para obter informações sobre os estados dos objetos, mas claro serve para outros propósitos.
[]'s
peczenyj
nunca usei algumaString.toString() no System.out.println – apenas quando tenho outros tipos de objetos mesmo assim quando são os meus objetos eu implemento algum toString() para me ajudar no debug, por exemplo.