-
Notifications
You must be signed in to change notification settings - Fork 3
How to work with toString
Данный метод вызывается всегда, когда вы передаете объект в System.out.prinln()
и подобные методы.
Метод рекомендуется переопределять, так как ожидается, что возвращаемая строка будет легко читаемая и информативная.
Когда вы вызываете toString()
на объекте Person, то желательно, чтобы возвращалось что-то типа: Person name: Aleksandr, phone: -----
.
Хорошо реализованный toString помогает также при отладке кода, так как вы в логе видите что за объект был, какие были поля и какие стали.
Однако, если вы переопределяете метод toString
, то возвращаемая строка должна содержать всю значимую информацию объекта.
Также надо понимать, что переопределив метод toString
и возвращая значение полей объекта в нем, вы по=хорошему должны дать доступ к этим полям на чтение(сделать get-ы), так не сделав этого вы обрекаете других на единственный возможный путь получения информации из этих полей - парсинг вашей строки.
Ну и действительно, смысл убирать getName()
у Person
, если toString
возвращает имя вашего Person
объекта?
Заметим в примере ниже, что без переопределения toString у CarKey получается не совсем понятно, это было оставлено специально, для примера.
Пример переопределения: toString