对象操作符
对象操作符
条件成员访问: ?.
var person = new Person(); person?.work();
对成员是否为空进行判断
类型转换as
var person; person = ""; person = new Person(); (person as Person).work();
是否指定类型:is, is!
var person; person = ""; person = new Person(); // (person as Person).work(); if (person is Person) { person.work(); }
级联操作:..
var person = new Person(); person..name = "Tome" ..age = 20..work();
..级联操作符示例
类型转换 as
判断为是否是指定的类型 is , !is
级联操作 ..
条件对象操作符 obj?.function() obj为null时function不会被执行。访问属性也同样
对象操作符
条件成员访问 “?.”前面为空不往后执行,不为空往后执行
用于判断对象是否为空
类型转换 as (后面跟类型名称)
是否指定类型 is, is!
级联操作 ..
级联操作符:..
条件运算符
void main(){ Person3 person; person?.name;//?.判断person是否为空,为空则不操作 var person1; person1=""; person1=new Person3(); (person1 as Person).work();//as person作为Person对象 //is is! 判断person1是否是Person对象 if(person1 is Person){ } //级联操作 var person2=new Person(); person2..name="tom" ..age=15 ..work(); } class Person3{ String name; int age; void work(){ print("work"); } }
级联操作福
对象操作符
条件成员访问: ?.
使用格式person?.name
不明确person对象是否为空的时候使用,为空时不报错也没有结果
对象操作符。
?如果前面为空,就不执行后面代码
对象操作符
级联操作符
对象操作符
..级联操作符用法相当于builder
对象操作符
条件成员访问 “?.”前面为空不往后执行,不为空往后执行
用于判断对象是否为空
类型转换 as (后面跟类型名称)
是否指定类型 is, is!
4,级联操作 .. (重要)
void main(){ // Person person = new Person(); // ?. person为null的时候不执行 后面的.work // person?.work(); var person ; person = ""; person = new Person(); (person as Person).work(); // as 类型强转 if(person is Person){ // 是否指定类型 person.work(); } // .. 级连 new Person()..name ="bb" ..age = 12 ..work(); } class Person{ String name; int age; void work(){ print("work...."); } }
对象操作符
不解释看图
person.? .?是条件运算符
对象操作符
?表示 如果person对象为空 则不进行 name属性的访问了 防止报错
as 表示 类型的强制转换 对比oc
?.非空判断,与kotlin使用规则一致,as 类型转换,与kotlin规则一致,真不愧是一家公司推得,类型判断 is is!一致, .. 级联操作,与建造者模式,builder模式使用规则一致。
对象操作符