/ / Interfaccia generica di estensione di classe AND implementa in Kotlin - generics, kotlin

Interfaccia generica di estensione e implementazioni di classe in Kotlin - generics, kotlin

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.