我尝试为问题创建一个类,以便在测验应用程序的main.dart
文件中使用它,但遇到了一些错误。请告诉我为什么会出现这些错误以及如何解决这些错误?
课堂提问:
class Question {
String questionText;
bool questionAnswer;
Question({String q, bool a}) {
questionText = q;
questionAnswer = a;
}
}
错误:
Non-nullable instance field 'questionAnswer' must be initialized.
Non-nullable instance field 'questionText' must be initialized.
The parameter 'q' can't have a value of 'null' because of its type, but the implicit default value is 'null'.
The parameter 'a' can't have a value of 'null' because of its type, but the implicit default value is 'null'.
2条答案
按热度按时间bhmjp9jg1#
这个问题是关于空值安全的,你需要在构造函数上使字段为空,
late
或add。了解更多关于-null-safety的信息
42fyovps2#
Yeasin的答案可能是您想要的,但我想详细介绍一下零安全。
所以底层语言dart现在有了“null safety”,这意味着除非你告诉dart变量可以为null,否则当一个不可为null的变量没有得到一个变量时,它就会抱怨。
示例
使用可以为null的变量会带来很多其他的事情需要考虑。所以我建议你仔细研究一下。我已经链接了一个关于这个主题的非常简单的视频(取决于你的技能,你可能可以找到一个更快的视频)
https://www.youtube.com/watch?v=llM3tcpaD5k