Kotlin Foo :: class.java“Unresolved Reference:Java”错误

我正在尝试将我的HomePage.class java代码转换为Kotlin。 我正在按照Kotlin.org上的说明进行操作 :

的getClass()

为了从对象中检索types信息,我们使用javaClass扩展属性。

val fooClass = foo.javaClass

而不是Java的Foo.class使用Foo::class.java

val fooClass = Foo::class.java

我有一个名为HomePage的类扩展了AppCompatActivity(在Android中)。 我正在使用Android Studio。 我尝试做HomePage::class.java ,它有一个错误: Unresolved reference: java

在这里输入图像说明

我如何得到这个工作? 谢谢。

如果有人使用旧版本的Kotlin,通过Google发现:

这个问题很可能是因为你忘记了依赖Kotlin的许多reflection函数所需要的reflection库。

使用最新的测试版,reflection库现在是标准库的一部分,这就是为什么它现在适合你。

事实certificate,我使用的是旧版本的Kotlin,并没有正确配置。 我编辑了Gradle文件以包含最新的测试版本,并选择了配置Kotlin的选项,现在它可以工作。

在gradle中:

 buildscript { ext.kotlin_version = '1.0.0-beta-3594' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" } } ... dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } 

我复制了其他项目的类,忘了更改类包名称。 当我改变,它固定

我把放在Gradle(Module app)的开头

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' 

 implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 

在依赖部分

在build.gradle(Project)

 buildscript { ext.kotlin_version = '1.2.0' repositories { jcenter() google() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }