Uri对象的使用
直接使用字符串来拼接 URI 地址需要关注地址中拼接的每个部分的合法性,并且在处理复杂逻辑时需要更冗长的处理,如果变量包含非法字符(如中文),整个地址非法。
如:在路由跳转中使用
方式一:使用Uri对象(推荐)
Uri address = Uri(path: path, queryParameters: queryParameters);
NavigatorUtils.push(context, address.toString());
方式二:参数处理,不推荐
NavigatorUtils.push(context,
'${Routes.webViewPage}?title=${Uri.encodeFull(title)}&url=${Uri.encodeComponent(url)}');
类型转换
建议使用 is
而不是 as
来进行类型转换。 is
运算符允许更安全地进行类型检查,如果转换失败,也不会抛出异常。as
进行类型失败会抛出异常。如:
if (animal is Bird) {
animal.fly();
} else {
print('转换失败');
}
(animal as Animal).eat('meat'); // 强制类型转换一旦失败就会抛异常