假设我有这个Dart类(class):
class Stock {
int id;
String externalCode;
String internalCode;
String name;
double quantity;
}
当我创建该对象的新实例(如
Stock item = new Stock();
)时,所有属性均为null
。我知道这是Dart的特定行为,但是当将此类对象发送到API时,由于大多数后端语言(如C#,Java等)都没有可为空的基元,因此在解析为相应的模型类时会发生异常。
实例化Dart类时,防止
int
,double
和bool
属性成为null
(将它们分别设置为0
,0.0
和false
)的最简单方法是什么?由于许多类可能具有很多属性,因此像
Stock item = new Stock(id: 0, quantity: 0 /*...and so on... */);
这样的硬连接实例化就不可能了。非常感谢!
最佳答案
如果要为类中的成员提供默认值,则可以在类定义中为每个成员分配一个值:
class Stock {
int id = 0;
String externalCode = "";
String internalCode = "";
String name = "";
double quantity = 0.0;
}
另外,您还可以为可选参数提供默认值,例如:
class Stock {
int id;
String externalCode;
String internalCode;
String name;
double quantity;
Stock(
{this.id = 0,
this.externalCode = '',
this.internalCode = '',
this.name = '',
this.quantity = 0.0});
}
关于dart - 实例化Dart类时,防止类属性为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61172500/