Además, por supuesto, su uso con primitivos. La mayoría (si no todas) de las implementaciones que veo solo son útiles desde el punto de vista del programador.¿ToString() solo es útil para la depuración?
EDITAR: entiendo que se supone que debo anular el comportamiento por defecto, es por eso que he mencionado implementaciones :). Y obtengo el valor de anularlo en algunos componentes que requieren una representación de Cadena dentro de una GUI. Sin embargo, al menos en el JDK, veo lotes de implementaciones que solo se utilizan cuando es necesario depurar las instancias del objeto.
¿Por qué está arraigado en la clase Object, ya que eso solo parece útil para cosas de GUI/depuración? ¿Hay otros usos que no conozco?
Orientación de la pregunta a varios idiomas está obligado a obtener diferentes resultados en función de las prácticas aceptadas de ese idioma. – Robin