Почему я должен реализовать метод toString для моего объекта? - PullRequest
3 голосов
/ 06 мая 2010

Помимо печати материалов для консоли, какое еще использование вы нашли для метода toString () для ваших объектов?

Ответы [ 3 ]

5 голосов
/ 06 мая 2010

Это удобное средство отладки, когда вы просто хотите быстро просмотреть содержимое объекта.

4 голосов
/ 06 мая 2010

Я использую его только для целей отладки. Для функциональных требований я всегда реализую метод с хорошо известным именем, например String toExportFormat().

Вы поймете, почему я так поступаю, когда вы впервые попытаетесь выяснить, где вызывается ваш метод вывода. Если вы используете toString() где-то в своем коде, вы вряд ли сможете найти все места, потому что каждый объект реализует этот метод. Если вы используете специализированный метод, очень легко найти места, где он вызывается. И вы можете ссылаться на этот метод внутри вашего toString() метода - это даже не больше работы.

1 голос
/ 06 мая 2010

Многие фреймворки используют его для предоставления представлений по умолчанию ваших объектов, например, меток для элементов дерева в Swing.

Кроме того, достаточно иметь что-то читаемое на консоли, потому что регистрация намного проще, когда вы можете положиться на toString().

...