2
なぜこれは機能しませんか?しかし、Javaで動作しています。Kotlinのジェネリックスがクラス階層内で一致しない
class MyList : java.util.LinkedList<String>()
fun main(args: Array<String>) {
val x: java.util.List<String> = MyList()
}
私が割り当てラインについては
Type mismatch: inferred type is MyList but List<String> was expected
を取得します。オンライン評価のための
リンク:
そうなこの行動の理由ですKotlinは直接java.util.List<E>
インタフェースを使用していないということです何
val x: List<String> = MyList() // List<String>, not java.util.List<String>
が、代わりに、それは次のとおりです。http://try.kotlinlang.org/#/UserProjects/70dhmnocn8ueh73hg0o61mp01f/8ormftvrpbimfu0l3uf37galv
同様の質問:
は、Javaコレクションインタフェースマッピングのドキュメントを参照してください。http://stackoverflow.com/q/34255329/3255152 – mfulton26