我有以下代碼:
var _editedService = Service(
id: '',
name: '',
description: '',
aboutUs: '',
streetNumber: null,
streetName: '',
suburb: '',
city: '',
province: '',
zipCode: null,
contactNum: null,
email: '',
logoUrl: '',
imageUrl: '',
);
當我運行它時,我收到以下錯誤:
錯誤:引數型別“字串?” 不能分配給引數型別“字串”,因為“字串?” 可以為空,而 'String' 不是。
我已經完成了其他堆疊回應,但沒有成功。
有什么建議嗎?
這是服務類:
class Service with ChangeNotifier {
final String id;
final String name;
final String description;
final String aboutUs;
final double? streetNumber;
final String streetName;
final String suburb;
final String city;
final String province;
final double? zipCode;
final double? contactNum;
final String email;
final String logoUrl;
final String imageUrl;
late final bool? isFavorite;
Service({
required this.id,
required this.name,
required this.description,
required this.aboutUs,
required this.streetNumber,
required this.streetName,
required this.suburb,
required this.city,
required this.province,
required this.zipCode,
required this.contactNum,
required this.email,
required this.logoUrl,
required this.imageUrl,
this.isFavorite = false,
});
void toggleFavoriteStatus() {
isFavorite = !isFavorite!;
notifyListeners();
}
}
uj5u.com熱心網友回復:
我在 dartpad 中測驗了代碼,完全沒問題,沒有任何問題。
所以代碼的其他部分正在拋出錯誤,使用詳細的錯誤訊息(如錯誤行號等)更新您的答案。問題與 dart null 安全性有關。
這是一個例子:
main() {
print(add('hello', 'world'));
}
String add(String a, String? b) {
return a b;
}
上面的代碼塊會報錯:The argument type 'String?' can't be assigned to the parameter type 'String' because 'String?' is nullable and 'String' isn't
要解決它,您必須使用 null-aware 運算子:
main() {
print(add('hello', 'world'));
}
String add(String a, String? b) {
return a b!;
}
b注意: return 陳述句后面的 !(感嘆號) 。它將解決問題。
uj5u.com熱心網友回復:
采用 ”!” 在您回傳的內容結束時
String? xya = "safdd";
String yz = xya!;
uj5u.com熱心網友回復:
這可能會幫助你
啟用null 安全性后,如果變數最后沒有 a,則它們不能為 null ?。例如:
String myString = "Hello World"; //This CANNOT be null
String? myString = null; //This CAN be null
解決方案可能是將空檢查!作為空字串,或者如果空字串則替換為空字串。
String myString = myOtherString!
String myString = myOtherString ?? "Something else";
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432521.html
上一篇:如何將容器放置在腳手架上方?
