将 Java 通配符类型参数转换为 kotlin

Converting Java wildcard type argument to kotlin

尝试学习 Kotlin 和我在 Java 中的一个 classes 我有一个值是一个列表,其中包含扩展某个接口的任何 class,如下所示.

List<? extends foo>

我之前尝试过 out 修饰符示例:

interface foo 
{
   val bar: out List
}

并通过修饰符示例传递 class:

interface foo<T> 
{ 
   val bar: List<T> 
}

想要的结果是,如果两个 classes 扩展了这个接口,它们都可以有这个值,但是一个可以有一个列表类型 A 和一个列表类型 B

相当于 Java List<? extends foo> 的 Kotlin 不依赖于 foo 的外观,也不需要更改它。是 MutableList<out foo> (https://kotlinlang.org/docs/reference/generics.html#use-site-variance-type-projections)。