Java class和Kotlin class对比
获取javaClass写法:
Java写法(javaClass) | Kotlin写法(javaClass) | |
---|---|---|
对象获取 | Class c = person.getClass(); | person.javaClass or person::class.java |
类获取 | Class cc =Person.class | (Person::class as Any).javaClass or Person::class.java |
javaClass和kClass两者互转:
javaClass转kClass | kClass转javaClass | |
---|---|---|
对象获取 | person::javaClass// javaClass --> person.javaClass.kotlin //kClass | person::class// kClass --> person::class.java //javaClass |
类获取 | Person::class.java// javaClass --> Person::class.java.kotlin //kClass | Person::class// kClass --> Person::class.java //javaClass |
注意:Kotlin 中,Person.javaClass是属性获取
两者值对比:
println(person.javaClass == person::class.java) //true
println(person.javaClass == Person::class.java)//true
println(person::class.java == Person::class.java)//true
//person.javaClass == person::class.java == Person::class.java
println(person.javaClass == Person::class)//false
println(person.javaClass.kotlin == Person::class)//true
println(person::class == Person::class)//true
小结
在Java和Kotlin混合使用,尤其注意参数传递是javaClass还是kClass
网友评论