1梢薪、類型判定操作符
? ? ? ? 類型轉(zhuǎn)換:as
dart 中不支持Java中的類型強(qiáng)轉(zhuǎn)寫法 ,需使用as 脐区;?
num j =1;
int i = j as int;
? ? ? ? 類型判斷:is 夺溢、is!
dart 中沒有 instanceof 關(guān)鍵字抢蚀,使用is進(jìn)行類型判斷;
is:判斷某一個(gè)類型是否是對(duì)應(yīng)的類型涎永;
Object k= 100;?
if (k is int ) {//使用is判斷k 的類型是否是int 思币;
print("k 是 int 類型")
}
is!:判斷某一個(gè)類型是不是對(duì)應(yīng)的類型鹿响;
Object k= 100;
if (k is! var? ) {//使用 is! 判斷k 的類型不是var類型 羡微;
print("k 不是 var 類型")
}
2谷饿、賦值操作符
????????賦值操作符:??=
能夠保證后續(xù)操作不為null
var? h ;
?h ?== 100;// h 沒有值妈倔,則將?h 賦值100博投;
print(h);//打印結(jié)果:100
3、條件表達(dá)式
????????三目表達(dá)式:
?condition盯蝴?expr1:expr2
? 與Java 類似毅哗,condition:條件語句,條件成立則執(zhí)行expr1捧挺,不成立則執(zhí)行expr2虑绵;
? expr1??expr2
?如果expr1 表達(dá)式不為null,則執(zhí)行expr1表達(dá)式或變量闽烙,如果為null翅睛,則執(zhí)行expr2表達(dá)式或變量;示例:
?var k;
k= null;
var v =? k ?? "789";
print (v);//輸出結(jié)果 789黑竞;
4捕发、級(jí)聯(lián)操作符
????????級(jí)聯(lián)操作符: ..
在Java中如果實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用效果(構(gòu)建者模式)的話,需要返回當(dāng)前的對(duì)象很魂;dart中不需要返回具體對(duì)象扎酷,使用 .. 即可實(shí)現(xiàn);
class Builder {
void? a () { }
void b (){ }
}
/**
此處創(chuàng)建builder對(duì)象后可使用?..?操作符在調(diào)用 a( )方法后接著調(diào)用 b( )方法遏匆;
????*/
new Builder ( )..a( )..b( );
5法挨、安全操作符
????????安全操作符:?.
如果變量為null則返回null; 示例:
String srt ;
print (str ?. length);//此時(shí)輸出null,不會(huì)報(bào)空指針異常;
String srt =“123”;??
print (str ?. length);//此時(shí)輸出3幅聘;??
此處只做簡(jiǎn)單記錄凡纳,后續(xù)需在實(shí)際開發(fā)中進(jìn)一步熟練掌握!