1、类型判定操作符
类型转换:as
dart 中不支持Java中的类型强转写法 ,需使用as ;
num j =1;
int i = j as int;
类型判断:is 、is!
dart 中没有 instanceof 关键字,使用is进行类型判断;
is:判断某一个类型是否是对应的类型;
Object k= 100;
if (k is int ) {//使用is判断k 的类型是否是int ;
print("k 是 int 类型")
}
is!:判断某一个类型是不是对应的类型;
Object k= 100;
if (k is! var ) {//使用 is! 判断k 的类型不是var类型 ;
print("k 不是 var 类型")
}
2、赋值操作符
赋值操作符:??=
能够保证后续操作不为null
var h ;
h ?== 100;// h 没有值,则将 h 赋值100;
print(h);//打印结果:100
3、条件表达式
三目表达式:
condition?expr1:expr2
与Java 类似,condition:条件语句,条件成立则执行expr1,不成立则执行expr2;
expr1??expr2
如果expr1 表达式不为null,则执行expr1表达式或变量,如果为null,则执行expr2表达式或变量;示例:
var k;
k= null;
var v = k ?? "789";
print (v);//输出结果 789;
4、级联操作符
级联操作符: ..
在Java中如果实现链式调用效果(构建者模式)的话,需要返回当前的对象;dart中不需要返回具体对象,使用 .. 即可实现;
class Builder {
void a () { }
void b (){ }
}
/**
此处创建builder对象后可使用 .. 操作符在调用 a( )方法后接着调用 b( )方法;
*/
new Builder ( )..a( )..b( );
5、安全操作符
安全操作符:?.
如果变量为null则返回null; 示例:
String srt ;
print (str ?. length);//此时输出null,不会报空指针异常;
String srt =“123”;
print (str ?. length);//此时输出3;
此处只做简单记录,后续需在实际开发中进一步熟练掌握!
网友评论