- *** 作符
- 流程控制
- 异常
- Dart和Java是在比较两个对象的时候 *** 作符意义是不同的。
“==”: Java中表示比较地址。而Dart中表示比较内容。
Java中比较内容用的是对象方法equals()
Dart中比较地址用的是方法identical() - is:等同于java中的instance
- is!,表示不属于(非 *** 作符!写在后面)
- as?:类型转换,转换失败就返回null。
- ??:空 *** 作符。a??1,代表a为null的时候,返回1.否则返回a。(其实属于三元运算符的缩写,即a==null?a:1)
- 级联 *** 作符**(…)**。允许在同一个对象上面做一系列的 *** 作。
- Dart中的switch语句可以用break,return,continue,rethrow,throw结束。
- Dart的异常都是非检查异常。方法不会声明可能抛出的异常。
- Dart可以throw任何非空对象作为一个异常,而不仅仅是Exception和Error.
- Dart中catch可以捕获指定异常,也可以捕获任意异常(dynamic类型)。
和on联动可以指定异常类型,并捕获。如:
try{
//...
}on TimeoutException catche(e,s){
//捕获TimeoutException异常
print(e);打印异常e的信息
print(s);打印堆栈s
rethrow();重新抛出异常
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)