通用扩展类AND实现Kotlin中的接口

fre*_*uts 71 generics kotlin

假设我想要一个类型变量T,它扩展某个类并实现一个接口.就像是:

class Foo <T : Bar implements Baz> { ... }
Run Code Online (Sandbox Code Playgroud)

Kotlin的语法是什么?

hot*_*key 145

在尖括号内只能指定一个上限.

当存在多个约束时,Kotlin为泛型约束提供不同的语法:

class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
Run Code Online (Sandbox Code Playgroud)

和功能:

fun <T> f(): Foo where T : Bar, T : Baz { ... }
Run Code Online (Sandbox Code Playgroud)

这里记录在案.

  • 是否可以将其用于fun的参数类型,例如fun foo(arg:ClassType,InterfaceType){}?不向类添加类型参数 (2认同)