跳到主要内容

无效赋值

类型为 '{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;