Dart语言之“操作符”

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;  

此处只做简单记录,后续需在实际开发中进一步熟练掌握!

你可能感兴趣的:(Dart语言之“操作符”)