首页 > 解决方案 > 如何在 Dart 中实例化具有默认可修改列表字段的对象

问题描述

我有这个类User,并希望能够将默认可修改字段实例phoneNumbers化为空列表,而不是空列表或不可修改列表。
我知道你可以传递const []给构造函数,但这个列表是不可修改的。

class User {
  String name;
  var phoneNumbers;

  UserData(
      {this.name = '',
      this.phoneNumbers});
}

标签: listflutterdartinitializationinstance

解决方案


您可以直接初始化该字段:

class User {
  String name;
  var phoneNumbers = [];

  UserData(
      {this.name = '',
      this.phoneNumbers});
}

或使用构造函数初始化器:

class User {
  String name;
  var phoneNumbers;

  UserData(
      {this.name = '',
      this.phoneNumbers}): phoneNumbers = phoneNumbers ?? [];
}

推荐阅读