Является ли toString () полезным только для отладки? - PullRequest
10 голосов
/ 19 февраля 2009

Кроме того, конечно, их использование с примитивами. Большинство (если не все) реализаций, которые я вижу, полезны только с точки зрения программиста.


РЕДАКТИРОВАТЬ : Я понимаю, что должен переопределить поведение по умолчанию, поэтому я упомянул реализации :). И я получаю значение переопределения в некоторых компонентах, требующих представления String внутри GUI. Однако, по крайней мере, в JDK я вижу лотов реализаций, которые используются только тогда, когда вам нужно отладить экземпляры объекта.

Почему он укоренен в классе Object, поскольку он полезен только для графического интерфейса / отладки? Есть ли другие применения, о которых я не знаю?

Ответы [ 13 ]

0 голосов
/ 19 февраля 2009

это не может быть "намеренным" использованием, но я использовал его для сериализации данных

storeToHardDrive(studentList.ToString());
0 голосов
/ 19 февраля 2009

На AS3 мне пришлось преобразовать 2D-массив в 1D-массив. Самым быстрым (скорость выполнения) и самым простым (время кодирования) решением было:

var new1DArray:Array = the2DArray.toString().split(",");

Удивляйся, но на самом деле это работает как задумано и довольно быстро!

0 голосов
/ 19 февраля 2009

ToString () также неявно вызывается .NET Framework при печати любого объекта в строку.

Console.WriteLine("My Object is" + object.ToString());

эквивалентно

Console.WriteLine("My Object is" + object);

потому что ToString () вызывается неявно.

Я полагаю, хотя и не уверен, что он используется отладчиком для «значения» объекта. Это может быть довольно удобно, хотя и ограничено. В большинстве случаев лучше написать собственный визуализатор отладчика.

...