Java. Класс Object и его методы. Часть 5 — toString

Еще один метод класса Object, который в базовой реализации не является чем бы то ни было полезным и который, следовательно, имеет место быть переопределенным, это toString(). Как видим, в базовой версии метода берется имя класса и добавляется хешкод в обертке метода класса Integer, что в итоге и не дает сам хешкод.

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

Что не дает никакой информации об объекте. Поэтому мы всегда переопределяем метод в классах. Для этого есть множество методов и шаблонов, но вы можете написать свою реализацию. Я рекомендую любой шаблон от Guava или Apache.

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

Метод toString() работает только для объектов. Если есть потребность в строковом представлении примитива, для этого есть метод у самого класса String.valueOf(..)

Запись опубликована в рубрике Программирование Java. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *