1.条件运算符
??
跟iOS?:
用法一致
2.常用操作符
2.1?.
想要访问表达式的某个属性时,就可以使用这个,可以有效避免 NPE。例如:
var yourName = user?.name;
就等效于:
var yourName;
if(user == null){
yourName = null;
}else{
yourName = user.name;
}
2.2??
在赋值时,可以使用 ??
,若发现为空,可以为其赋默认值。 例如:
var yourName = name ?? "Bob";
等效于:
var yourName;
if(name == null){
yourName = "Bob";
}else{
yourName = name;
}
2.3??=
expr1 ??= expr2
等效于expr1 = expr1 ?? expr2
就是判断 expr1
是否为null
,如果为null
的话,就使用默认值 expr2
。 例如:
user ??= User();
等效于:
if(user == null) {
user = User();
}
网友评论