Kotlin 数据类型与智能类型转换详解
1. 智能类型转换(Smart Casts)
智能类型转换可以将一个类型的变量隐式转换为另一个类型,无需使用 as 或 as? 操作符。不过,只有当 Kotlin 编译器能确定变量在检查后不会改变时,智能类型转换才会生效,这使得它在多线程应用中非常安全。通常,智能类型转换适用于所有不可变引用( val )和局部可变引用( var )。智能类型转换主要分为以下两种:
- 类型智能转换(Type Smart Casts) :将一个类型的对象转换为另一个类型的对象。
- 非空智能转换(Nullity Smart Casts) :将可空引用转换为非空引用。
1.1 类型智能转换
假设我们有 Animal 和 Fish 类,并且想调用 isHungry 方法,同时检查 animal 是否为 Fish 的实例。在 Java 中,代码如下:
// Java
if (animal instanceof Fish){
Fish fish = (Fish) animal;
fish.isHungry();
// 或者
((Fish) animal).isHungry();
超级会员免费看
订阅专栏 解锁全文
9246

被折叠的 条评论
为什么被折叠?



