特定のクラスを拡張し、インターフェイスを実装する型変数Tが必要だとします。何かのようなもの:
class Foo <T : Bar implements Baz> { ... }
Kotlinのこれの構文は何ですか?
山括弧内に指定できる上限は1つだけです。
Kotlinは、複数の制約がある場合、一般的な制約に対して異なる構文を提供します。
class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
および機能の場合:
fun <T> f(): Foo where T : Bar, T : Baz { ... }
文書化されています ここ 。