is 和 is! 类型判断
在Dart中有这个两个操作符,用来判定是否是这个属性。类似于Java中的instanceof。
使用用法是
Object i1 = 1;
if(i1 is int){
}
//不属于int类型命中
if(i1 is! int){
}
as 类型转换
在Dart中 类型转换使用as操作符。
Java 中
int i = (int)a;
//Dart 转成 int类型
num j = 1;
int o = j as int;
??= 赋值操作符
在Dart中安全赋值可以使用??=。
//Java中 可能这么写
if(k == null){
k = “456”;
}
//安全赋值 这里如果 k不等于null ,那么??=就不会生效。如果没值 就赋值了
String k;
k ??= "456";
三目表达式 condition?exption1:exption2;
与Java一样;
?? 条件表达式
个人感觉跟??= 差不多
String s = “123”;
var v = s ?? “789”;
print(v);//这里输出的是123
s = null;
var k = s ?? “789”;
print(k);//这里输出的是789
. .级联操作符
类似于java中的链式调用,这样的话,操作起来就会简单很多。
//使用..可以类似于java中的链式调用
void mai(){
new Build()..a()..b();
}
class Build{
void a(){
}
void b(){
}
}
?.安全操作符
这个有点像kotlin。?.来安全调用,毕竟都是Google出的哈哈哈。
//这里如果输出不会报空指针异常 这个操作符可以帮助我们去判空
String str = null;
print(str?.length);