Это может звучать очень простым... может кто-то объяснять использование toString()
метод и когда эффективно использовать это?
Сделали поиск на Google, но не мог найти хороший ресурс.
Предполагается, что .NET или Java:
В общем случае следует перегружать ToString (), когда требуется текстовое представление класса (при условии, что это имеет смысл для вашего класса).
-121--2904350-Для класса можно использовать toString (), переопределяя его, чтобы предоставить некоторое значимое текстовое представление объекта.
Например, можно переопределить toString () в классе Person, чтобы вернуть имя и фамилию.
-121--2904351- В большинстве языков toString
или эквивалентный метод только гарантирует, что объект может быть представлен текстуально.
Это особенно полезно для ведения журнала, отладки или при любых других обстоятельствах, когда необходимо иметь возможность визуализации любого объекта, с которым вы сталкиваетесь, в виде последовательности.
Объекты часто реализуют пользовательское поведение toString
, так что метод фактически сообщает о экземпляре объекта. Например, класс Person
может переопределить его для возврата значения «Фамилия, имя», в то время как класс Date
будет отображать дату, отформатированную в соответствии с некоторыми настройками по умолчанию (такими как текущая культура пользовательского интерфейса).
Таким образом:
out.println("You are " + user);
будет отображать «You are null» или «You are James», если user is null, или toString отображает «James» для этого (существующего) экземпляра.
Существует несколько ситуаций, в которых можно было бы переопределить метод toString класса (большинство из которых уже упоминалось в существующих ответах), но одна из наиболее распространенных ситуаций, в которых мне нужно было явно вызвать toString на объект - это когда StringBuilder используется для создания String.
public String createString(final String str) {
final StringBuilder sb = new StringBuilder(str);
sb.append("foo");
sb.append("bar");
return sb.toString();
}
Предполагая, что .NET или Java:
В общем, вы должны перегрузить ToString (), когда вам нужно текстовое представление вашего класса (при условии, что это имеет смысл для вашего класса).
Вы можете использовать toString() на классе, переопределив его, чтобы обеспечить некоторое значимое текстовое представление вашего объекта.
Например, вы можете переопределить toString() в классе Person, чтобы вернуть имя и фамилию.
Для класса можно использовать toString (), переопределяя его, чтобы обеспечить содержательное текстовое представление объекта.
Например, можно переопределить toString () в классе Person, чтобы вернуть имя и фамилию.
-121--2904351-Строка должна использоваться при необходимости изменения типа данных на последовательность. Для встроенных типов, таких как int и таких есть строковые представления то, что вы ожидаете. ie
int i = 5;
string s = i.ToString(); //s now equals "5"
Предоставляет символьную строку «5» для большинства сложных типов и всех созданных пользователем типов, которые необходимо перегружать методом tostring, иначе будет получено только имя класса. Команда To string позволяет использовать сложное формообразующее построение в .net с собственными объектами. вы можете предоставить сложные форматеры, такие как класс datetime, чтобы обеспечить гибкость в использовании собственных типов.