Dire che voglio una variabile di tipo, T, che estende una certa classe e implementa un'interfaccia. Qualcosa di simile a:
class Foo <T : Bar implements Baz> { ... }
Qual è la sintassi di questo in Kotlin?
risposte:
74 per risposta № 1È possibile specificare solo un limite superiore all'interno delle parentesi angolari.
Kotlin offre una sintassi diversa per i vincoli generici quando c'è più di un vincolo:
class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
e per le funzioni:
fun <T> f(): Foo where T : Bar, T : Baz { ... }
È documentato Qui.