之间的差异<;有什么吗?>;及<*&燃气轮机;在kotlin的泛型中

之间的差异<;有什么吗?>;及<*&燃气轮机;在kotlin的泛型中,kotlin,generics,variance,any,nothing,Kotlin,Generics,Variance,Any,Nothing,我不理解泛型中和之间的区别。我知道使用就像同时执行和一样,但是使用会导致相同的结果。主要区别在于,不能使用对声明为逆变的类型参数进行任何投影(在声明站点使用in)–其所有使用站点也必须在中显式或隐式投影 此外,对于上限为T:TUpper的类型参数,不能将out-投影与不是TUpper子类型的类型参数一起使用。例如,如果类型声明为Foo,则投影Foo无效。在Foo的情况下,星投影的out部分表示上界,而不是Any?无界 对于泛型类型 *投影与 不变量 Invariant和Invariant 协变的

我不理解泛型中
之间的区别。我知道使用
就像同时执行
一样,但是使用
会导致相同的结果。

主要区别在于,不能使用
对声明为逆变的类型参数进行任何
投影(在声明站点使用
in
)–其所有使用站点也必须在
中显式或隐式投影

此外,对于上限为
T:TUpper
的类型参数,不能将
out
-投影与不是
TUpper
子类型的类型参数一起使用。例如,如果类型声明为
Foo
,则投影
Foo
无效。在
Foo
的情况下,星投影的
out
部分表示上界,而不是
Any?

无界 对于泛型类型
*
投影与
不变量
Invariant
Invariant
协变的 协变的
逆变
逆变

请参阅,它应该回答您的问题。如果类型是有界的,
类似于
。否则,它们实际上是相同的。