PLN*_*ech 5 java enums android subclass kotlin
我正在将Java Android项目转换为Kotlin.
我正在使用API.AI的客户端,它有两个AIConfiguration
类:
超
package ai.api;
public class AIConfiguration implements Cloneable {
public static enum SupportedLanguages {
English("en"),
//...
}
//...
}
Run Code Online (Sandbox Code Playgroud)
子类
package ai.api.android;
public class AIConfiguration extends ai.api.AIConfiguration {
public enum RecognitionEngine {
//...
}
Run Code Online (Sandbox Code Playgroud)
在我的Java代码中,我正在创建子类的实例,如api指南中所建议的那样:
final AIConfiguration config = new AIConfiguration("TOKEN",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
Run Code Online (Sandbox Code Playgroud)
一旦转换为Kotlin,它看起来像这样:
val config = AIConfiguration("TOKEN",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System)
Run Code Online (Sandbox Code Playgroud)
...导致一个Unresolved reference: SupportedLanguages
.
ai.api.AIConfiguration.SupportedLanguages.English
成功编译的引用.import ai.api.AIConfiguration as SuperAIConfiguration
和导入超类SuperAIConfiguration.SupportedLanguages
,但我宁愿直接在子类上引用枚举.我不明白:为什么这个引用在Java中有效但在Kotlin中没有?