【发布时间】:2021-06-06 11:31:48
【问题描述】:
“字符串?”类型的值不能分配给“字符串”类型的变量。 尝试更改变量的类型,或将右侧类型转换为 'String'.dart(invalid_assignment)
late String manufacturer;
late double fuelCapacity;
late double fuelRemaining;
String showInfo() =>
'$manufacturer: $fuelRemaining of $fuelCapacity (critical: $criticalFuelLevel)';
double get criticalFuelLevel => fuelCapacity * 0.1;
set newFuelRemaining(double val) => fuelRemaining = val;
// default constructor
Vehicle(
{required this.manufacturer,
required this.fuelCapacity,
required this.fuelRemaining});
// named constructor
Vehicle.fromMap(Map<String,String> map) {
this.manufacturer = map["manufacturer"];
this.fuelCapacity = double.parse(["fuelCapacity"]);
this.fuelRemaining = double.parse(['fuelRemaining']);
}
}
void main() {
var vehicle =
Vehicle(manufacturer: 'BMW', fuelCapacity: 55, fuelRemaining: 20);
vehicle.newFuelRemaining = 20;
var vehicle2 = Vehicle.fromMap(
{'manufacturer': 'KIA', 'fuelCapacity': '50', 'fuelRemaining': '20'});
print(vehicle2.showInfo());
}```
【问题讨论】:
标签: flutter