Кажи, че искам променлива тип, T, която разширява определен клас и изпълнява интерфейс. Нещо като:
class Foo <T : Bar implements Baz> { ... }
Какъв е синтаксисът за това в Котлин?
Отговори:
74 за отговор № 1В рамките на ъгловите скоби може да се зададе само една горна граница.
Kotlin предлага различен синтаксис за общи ограничения, когато има повече от едно ограничение:
class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
и за функции:
fun <T> f(): Foo where T : Bar, T : Baz { ... }
Това е документирано тук.