假设我想要一个类型变量T,它扩展了某个类并实现了一个接口。就像是:
class Foo <T : Bar implements Baz> { ... }
Kotlin的语法是什么?
Answers:
尖括号内只能指定一个上限。
当存在多个约束时,Kotlin为通用约束提供不同的语法:
class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
和功能:
fun <T> f(): Foo where T : Bar, T : Baz { ... }
它记录在这里。
fun <T> wrapClientListener(listener: RemoteController.OnClientUpdateListener): T where T : RemoteController.OnClientUpdateListener, T : NotificationListenerService
。我不在乎T的类型。但是,当我调用此方法时,Kotlin要求提供特定的类型。那我怎么称呼这个方法呢?