(1)类型转换
Java中的类型转换:
public interface Kotliner{}
public class Person implements Kotliner{
public final String name;
public final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Kotliner kotliner=new Person("zhangsan",18);
if (kotliner instanceof Person){
System.out.println(((Person) kotliner).name);
}
Kotlin中的类型转换:
val kotliner:Kotliner=Person("zhangsan",18)
if (kotliner is Person){
println((kotliner as Person).name)
}
在这里kotliner可以智能转化,可以写为:
注意:Kotlin里面的 is 等价于Java中的instanceof
(2)Kotlin中空类型转为非空类型
(3)不能进行类型转换的情况
注意:在这里虽然判断了tag不为空,但是其他线程可能对它做修改
(4)类型的安全转换