- 可空(加
?):在类型后面加个问号,变量才能接受null。
nullableName = 'Rose'; // ✅ 也允许
?.(条件成员访问):如果对象为null,直接返回null,不会调用后续方法,避免崩溃。
String? str = null;
print(str?.length); // 输出 null(不会报错)
??(空值合并):如果左边为null,就使用右边的默认值。
String? str = null;
String result = str ?? '默认值'; // result 为 '默认值'
??=(空赋值):只有当变量为null时,才给它赋值。
String? str = null;
str ??= '赋值'; // str 变为 '赋值'
- 百分百确定某个可空变量在当前场景下不是
null
String? maybeName = getName(); // 假设你知道它一定返回非空
int length = maybeName!.length; // 用了 !,如果为 null 则会抛出运行时异常