尝试学习Kotlin,在Java的一个类中,我有一个值,该值是一个包含任何扩展特定接口的类的列表,如下所示。
List<? extends foo>
我以前尝试过out
修饰符示例:
interface foo
{
val bar: out List
}
并通过修饰符示例传递类:
interface foo<T>
{
val bar: List<T>
}
想要得到的结果是,如果两个类扩展了此接口,则它们都可以具有该值,但是一个可以具有类型A的列表,而类型B的列表
答案 0 :(得分:1)
相当于Java List<? extends foo>
的Kotlin并不取决于foo
的外观,也不需要更改它。是MutableList<out foo>
(https://kotlinlang.org/docs/reference/generics.html#use-site-variance-type-projections)。