假设我想要一个类型变量 T,它扩展了某个类并实现了一个接口(interface)。比如:
class Foo <T : Bar implements Baz> { ... }
这在 Kotlin 中的语法是什么?
最佳答案
尖括号内只能指定一个上限。
当存在多个约束时,Kotlin 为通用约束提供不同的语法:
class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
对于函数:
fun <T> f(): Foo where T : Bar, T : Baz { ... }
记录在案 here .
https://stackoverflow.com/questions/34470703/