Обеспечивает программный доступ ко всем данным, доступным в строковой форме: toString()

#java #string #api #tostring

#java #строка #API #tostring

Вопрос:

Блох сказал: Обеспечить программный доступ ко всем данным, доступным в строковой форме.

Мне интересно, имеет ли он в виду переопределение, toString() которое должно включать «все доступные данные«?

Я думаю, что ‘в строковой форме‘ означает, что строка предназначена для чтения человеком, поэтому переопределения toString() достаточно для совета. Я прав?

Ответ №1:

Нет, по-видимому, он имел в виду прямо противоположное. Если элемент данных доступен как часть вывода toString() (или других строковых методов класса), Блох опасается, что разработчики, использующие API, будут полагаться на это и анализировать строки, чтобы получить базовые значения данных. Его совет заключается в предоставлении специальных средств доступа для этих элементов данных, чтобы не позволять разработчикам полагаться на формат выходных данных toString().