Gdybym dekompilować plik .class generowane przez data class State(val b: List<Array<Int>>)
następnie pojawia się następujący kod Java:Pierwsze „niezgodne typy” błąd przy użyciu kodu wygenerowanego z Kotlin klasy danych
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;
}
// ...
}
Gdybym kopiuj/wklej ten java kod do mojego IDE (IntelliJ 15), pojawia się następujący błąd kompilacji w metodzie getB()
:
Incompatible types.
Required: List<Integer[]>
Found: List<? extends Integer[]>
Co ja tu brakuje? W jaki sposób kod wygenerowany przez Kotlin może to zrobić, ale nie moja kopia/wklejona wersja?
Jakiej wersji Kotlin używasz? – nhaarman