#java
Для чего предназначен метод toString() в Java и в каких случаях его нужно переопределять?
Ответы
Ответ 1
Для общего экземпляра класса метод toString() возвращает имя класса объекта и его хэшкод. Если для вашего класса необходимо, чтобы его представление в виде строки было более содержательным, этот метод может быть переопределен. Например, у вас есть некий класс хранящий информацию о пользователе. Вы можете переопределить метод toString(), чтобы при выводе этого класса на экран ( System.out.print (someUser);) вместо нелепой строки, вроде User@4867856 были его имя и фамилия. Так же можно переопредилить этот метод и для классов API, в которых он уже повторно переопределен, чтобы изменить то, что выводится на экран при "печати" этого класса, если это нужно в вашей программе. Например, для Integer вместо просто вывода числа, выводить целое 1 (пример утрирован) Некоторый примерОтвет 2
В API specification java дано неплохое определение: In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. Метод toString возвращает "текстовое предоставление" объекта в таком виде, что бы было понятно для человека. Метод желательно переопределять для всех создаваемых программистом классов с целью повышения информативности логов. Но в большинстве случаев разработчики ограничиваются только теми классами, которые регулярно попадают в лог. Про переопределение метода toString более подробно можно почитать в книге «Эффективное программирование» - Джошуа Блоха этому вопросу посвящена 10я статья 3й главы.
Комментариев нет:
Отправить комментарий