跳到主要內容

無效賦值

型別為 '{0}' 的值不能賦值給型別為 '{1}' 的變數。

描述

#

當賦值給變數的表示式的靜態型別無法賦值給該變數的型別時,分析器會產生此診斷訊息。

示例

#

以下程式碼會產生此診斷訊息,因為初始化器 (int) 的型別無法賦值給變數 (String) 的型別

dart
int i = 0;
String s = i;

常見修復方法

#

如果賦的值在執行時總是可賦值的,儘管靜態型別未反映這一點,那麼新增一個顯式型別轉換。

否則,更改賦的值使其具有預期的型別。在上面的示例中,可能看起來像這樣:

dart
int i = 0;
String s = i.toString();

如果無法更改值,則更改變數的型別以與賦的值的型別相容

dart
int i = 0;
int s = i;