Ответ 1

Как javadoc говорит:

Возвращает строковое представление объекта. В общем случае метод toString возвращает строку, которая "текстово представляет" этот объект. Результат должен быть кратким, но информативным представлением, которое легко читать человеку. Рекомендуется, чтобы все подклассы перекрывали этот метод.

Вы можете использовать это для:

  • входа
  • Отладка
  • отображающий в пользовательском интерфейсе

и др.

Однако рекомендуется использовать его только для внутренних целей, таких как ведение журнала и отладка.

Ответ 2

Основное использование toString() позволяет печатать или записывать произвольные объекты.

Ответ 3

Короче говоря, вы получаете представление String вашего класса, поэтому в своих журналах или при отладке вместо стандартного [email protected] вы увидите значимые значения. Это представление полностью произвольно.

Подробнее см. пункт 10 в Эффективная Java, у него есть несколько хороших советов.

Ответ 4

Просто чтобы добавить, иногда полезно преобразовать некоторый объект в текстовое представление, а затем определить конструктор, который может создать объект из этого текстового представления, что-то вроде

public Foo(String textualRep) {

}

Я видел этот подход где-то в использовании в JDK, но не могу вспомнить, где.