tostring



Java tostring

Автор G задал вопрос в разделе Java

помогиет с методом toString класса object. Совсем не пойму его смысл и зачем его вообще использовать... и получил лучший ответ

Ответ от -Egor-[гуру]
Суть в том что для System.out.println() - не обязательно делать toString() : то есть можно сделать просто : System.out.println(b1); В первом случае выводится имя объекта с его пакетной иерархией и хэш-код этого объекта.
Для чего это нужно - чтобы любой утилитарный метод не зная твоего нового созданного обьекта мог получить его строковое представление : например Integer.toString() - вернет число сконверченное в строку
-Egor-
Мыслитель
(6058)
Не совсем, например если ты генерируешь JSON и попытаешся туда запихнуть свой собственный объект то он у него спросит toString(); По похожему принципу работают некоторые базы данных;
На счет String a = "abc"; и String b = new String("abc") - да есть нюансы :
a == "abc"; // true
b == "abc"; // false
При неявном создании строки она помещается в кэш и поэтому получаются одинаковые ссылки... Вот

Ответ от Алексей Ивашин[эксперт]
*В дополнение к ответу выше*
Так же это сделано из-за безопасности. Ибо выводить можно только строки, без метода toString при попытке вывода объекта на экран вылетала бы ошибка, а так у каждого объекта всегда есть метод, преобразующий объект в строку (в какой-то степени) и вызывается он автоматически
И чтобы он не выводил кучу непонятной фигни типа "bookstore.Book@4aa298b7", его стоит переопределить и заставить его выводить что вам захочется :3

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: помогиет с методом toString класса object. Совсем не пойму его смысл и зачем его вообще использовать...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*