【问题标题】:Is there a reason my enum is becoming null in a class constructor?我的枚举在类构造函数中变为 null 是否有原因?
【发布时间】:2019-06-20 23:17:10
【问题描述】:

我在 User 类构造函数中包含一个枚举。类中的该字段在新实例中变为 null。

我直接设置枚举值。之后我打印类字段。为空。

enum Genders {
  MALE,
  FEMALE,
  OTHER
}

class User extends SharedUser {
  User(
      String firstName,
      Genders gender,
  ) : super (firstName: firstName);

  Genders gender;
}

final User user = User(
    'Bob',
    Genders.OTHER
);
print(user.firstName); // Bob
print(user.gender); // null

预期:user.gender 将打印为 Genders.OTHER

实际:user.gender 打印为 null

【问题讨论】:

标签: enums dart flutter


【解决方案1】:

Dart 不会神奇地将参数构造函数分配给类字段。您必须自己指定此类行为。

因此,您的 User 构造函数应该变成:

User(String firstName, this.gender): super(firstName: firstName);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2011-08-20
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多