Enums 我的枚举在类构造函数中变为null有什么原因吗?
我在Enums 我的枚举在类构造函数中变为null有什么原因吗?,enums,dart,flutter,Enums,Dart,Flutter,我在用户类构造函数中包含一个枚举。类中的该字段在新实例中变为null 我直接设置枚举值。之后我打印class字段。它是空的 enum Genders { MALE, FEMALE, OTHER } class User extends SharedUser { User( String firstName, Genders gender, ) : super (firstName: firstName); Genders gender; }
用户
类构造函数中包含一个枚举。类中的该字段在新实例中变为null
我直接设置枚举值。之后我打印class字段。它是空的
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打印为nullDart不会神奇地将参数构造函数分配给类字段。你必须自己指定这种行为 因此,您的用户构造函数应该是:
User(String firstName, this.gender): super(firstName: firstName);
Dart不会神奇地将参数构造函数分配给类字段。你必须自己指定这种行为 因此,您的用户构造函数应该是:
User(String firstName, this.gender): super(firstName: firstName);
枚举不是复数的。枚举不是复数的。