Kotlin 中使用 Java 的泛型
Kotlin 的泛型与 Java 有点不同。当将 Java 类型导入 Kotlin 时,我们会执行一些转换:
Kotlin 的泛型 | Java 的泛型 | 说明 |
---|---|---|
Foo<out Bar!>! | Foo<? extends Bar> | Java 的通配符转换成类型投影 |
Foo<? super Bar> | Foo<in Bar!>! | 同上 |
List<*>! | List | Java的原始类型转换成星投影 |
和 Java 一样,Kotlin 在运行时不保留泛型,即对象不携带传递到他们构造器中的那些类型参数的实际类型。
即 ArrayList<Integer>()
和 ArrayList<Character>()
是不能区分的。
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .