【发布时间】:2016-04-18 03:39:16
【问题描述】:
如果我反编译 data class State(val b: List<Array<Int>>) 生成的 .class 文件,我会得到以下 Java 代码:
public final class State {
private final List<? extends Integer[]> b;
public State(List<? extends Integer[]> b) {
this.b = b;
}
public final List<Integer[]> getB() {
return this.b;
}
// ...
}
如果我将此 java 代码复制/粘贴到我的 IDE (Intellij 15) 中,我会在 getB() 方法中收到以下编译错误:
Incompatible types.
Required: List<Integer[]>
Found: List<? extends Integer[]>
我在这里缺少什么? Kotlin 生成的代码如何能够做到这一点,但我的复制/粘贴版本却不行?
【问题讨论】:
-
你使用的是什么 Kotlin 版本?