在模型类中的 Flutter Dart 中 Override String 函数用于什么?

Jav*_*haq 3 dart flutter

以下模型类中的以下功能用于什么?

    @override
  String toString() {
    return toJson().toString();
  }
Run Code Online (Sandbox Code Playgroud)

模型类

class User {
  final int id;
  String name, email, token;

  User(this.id, this.name, this.email, this.token);

  User.fromJson(dynamic json) : this.id = json['id'] {
    this.name = json['name'];
    this.email = json['email'];
    this.token = json['token'];
  }

  dynamic toJson() => {'id': id, 'name': name, 'email': email, 'token': token};

  @override
  String toString() {
    return toJson().toString();
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

toString()方法的目的是提供它被调用的任何对象的文字表示,或者将对象转换为字符串(例如将原始类型转换为字符串)。对于用户定义的类,它可能因您的用例而异。您可能希望将对象打印到控制台。对象上的简单打印命令不会为您提供任何有用的信息。但是,您可以使用 toString() 方法并将其转换为更易于理解的版本。例子

@override
String toString() {
    return "($someProperty,$someOtherProperty)";
}
Run Code Online (Sandbox Code Playgroud)

这将返回当时设置的该对象的任何属性。另一个(虽然不好)的目的可能是比较同一类的两个对象。与上面的示例类似,如果两个对象的toString()方法的输出相同,则可以说该类的两个对象相等。同样,这完全取决于您的用例。