РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
123 of 723 menu

Метод toString

Метод toString возвращает строковое представление объекта. Он определён в классе Object, поэтому доступен любому объекту в Dart. По умолчанию метод возвращает строку вида "Instance of 'ClassName'". Метод не принимает параметров. Чтобы изменить поведение метода, его переопределяют в собственном классе с помощью аннотации @override.

Метод toString часто используется неявно: при передаче объекта в print, при интерполяции строк и при конкатенации.

Синтаксис

String toString()

Пример

По умолчанию метод возвращает имя класса. Создадим объект и выведем его в консоль:

class User { String name; User(this.name); } void main() { User user = User('abcde'); print(user.toString()); }

Результат выполнения кода:

"Instance of 'User'"

Пример

Переопределим метод toString, чтобы получить понятное строковое представление объекта:

class User { String name; int age; User(this.name, this.age); @override String toString() { return 'User(name: $name, age: $age)'; } } void main() { User user = User('abcde', 25); print(user.toString()); }

Результат выполнения кода:

"User(name: abcde, age: 25)"

Пример

Метод toString вызывается неявно при интерполяции строки:

class User { String name; User(this.name); @override String toString() { return 'User: $name'; } } void main() { User user = User('abcde'); print('Info: $user'); }

Результат выполнения кода:

"Info: User: abcde"

Пример

Для коллекций объектов удобно переопределять toString, чтобы список выводился читабельно:

class Point { int x; int y; Point(this.x, this.y); @override String toString() { return '($x, $y)'; } } void main() { List<Point> points = [ Point(1, 2), Point(3, 4), Point(5, 6), ]; print(points); }

Результат выполнения кода:

[(1, 2), (3, 4), (5, 6)]

Смотрите также

  • класс Object,
    базовый класс для всех объектов
  • метод noSuchMethod,
    который вызывается при отсутствии метода
  • свойство runtimeType,
    которое возвращает тип объекта
  • метод hashCode,
    который возвращает хеш-код объекта
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить