Java ToString (), возвращая это - PullRequest
       5

Java ToString (), возвращая это

2 голосов
/ 26 ноября 2011

In String toString() метод возвращает this, и когда я передаю его System.out.println(), он печатает содержимое String. Меня смущает, как это происходит. может кто нибудь объяснит пожалуйста.

public String toString() { return this; }

Спасибо.

Ответы [ 2 ]

10 голосов
/ 26 ноября 2011

Метод toString, определенный на Object в Java, отвечает за преобразование объекта в строковое представление. Поскольку String уже является строкой, метод toString просто возвращает себя.

6 голосов
/ 26 ноября 2011

и когда я передаю его System.out.println (), он печатает содержимое строки

Фактически, когда вы передаете Stringна System.out.println вы все равно не пройдете через toString.System.out относится к объекту PrintStream, который имеет метод, который немедленно принимает String s:

public void println(String x)

Печатает строку и затем завершает строку.


Контракт toString должен возвращать строковое представление объекта:

public String toString()

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

Поскольку String происходит с be a String, оно может вернуть себя (this)!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...