我正在尝试将我的HomePage.class的Java代码转换成Kotlin。我正在遵循Kotlin.org上的说明:
getClass()
为了从对象中检索类型信息,我们使用javaClass扩展属性。
val fooClass = foo.javaClass
使用Foo::class.java代替Java的Foo.class。
val fooClass = Foo::class.java
我有一个名为HomePage的类,它扩展了AppCompatActivity (在安卓中)。我使用的是Android Studio。我尝试执行HomePage::class.java,但出现了一个错误:Unresolved reference: java

我怎么才能让它工作呢?
发布于 2015-12-08 23:19:26
这个问题很可能是您忘记了依赖于Kotlin的反射函数所需的reflection libraries。
在Java平台上,使用反射特性所需的运行时组件作为单独的JAR文件(kotlin-flect.jar)分发。这样做是为了减少不使用反射功能的应用程序所需的运行时库的大小。如果使用反射,请确保将.jar文件添加到项目的类路径中。
发布于 2015-12-08 06:43:42
事实证明,我使用的是一个旧版本的Kotlin,而且它的配置不正确。我编辑了gradle文件以包含最新的beta版本,并选择了配置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"
}发布于 2017-12-13 23:53:56
我放入了Gradle的开头(模块应用程序)
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'和
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"或
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"在依赖项部分中
在build.gradle (项目)中
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
}
}https://stackoverflow.com/questions/34144392
复制相似问题