小编典典

为什么在Kotlin中启动新的Android活动需要Java类?

java

如果要在Android中启动新的Activity,则需要将Activity传递给Intent。但是,不只是像这样传递Kotlin类:

val intent: Intent = Intent(this, SearchActivity::class)

我需要像这样将Kotlin类作为Java类传递:

val intent: Intent = Intent(this, SearchActivity::class.java)

由于我SearchActivity是.kt文件,为什么需要添加此额外的标识符?


阅读 270

收藏
2020-11-30

共1个答案

小编典典

Intent您正在使用的构造函数的第二个参数采用一个java.lang.Class对象。SearchActivity::class返回kotlin.reflect.KClass。您可以java.lang.Class通过访问java属性从中获得一个。因此,您会看到的语法有些奇怪SearchActivity::class.java

2020-11-30