Kotlin是否支持协方差设置中的上/下类型边界.我想说
class Foo<out T> {
fun or<U of T or greater>(other: U): <U> = ...
}
Run Code Online (Sandbox Code Playgroud)
在Scala中会是这样的
class Foo[+T] {
def or[U >: T](other: U): U = ...
}
Run Code Online (Sandbox Code Playgroud)
但编译器似乎不喜欢这样,它抱怨类型参数T的协方差.
And*_*lav 10
Kotlin此时不支持下限.有时您可以通过定义扩展函数而不是成员来逃避:
fun <T> Foo<T>.or(other: T): T = ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1099 次 |
| 最近记录: |