Diyelim ki, belirli bir sınıfı genişleten ve bir arayüz uygulayan bir tür değişkeni, T istiyorum. Gibi bir şey:
class Foo <T : Bar implements Baz> { ... }
Kotlin'de bunun sözdizimi nedir?
Diyelim ki, belirli bir sınıfı genişleten ve bir arayüz uygulayan bir tür değişkeni, T istiyorum. Gibi bir şey:
class Foo <T : Bar implements Baz> { ... }
Kotlin'de bunun sözdizimi nedir?
Yanıtlar:
Köşeli parantez içinde yalnızca bir üst sınır belirtilebilir.
Kotlin, birden fazla kısıtlama olduğunda genel kısıtlamalar için farklı sözdizimi sunar:
class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
ve işlevler için:
fun <T> f(): Foo where T : Bar, T : Baz { ... }
Bu belgelenmiştir burada .
fun <T> wrapClientListener(listener: RemoteController.OnClientUpdateListener): T where T : RemoteController.OnClientUpdateListener, T : NotificationListenerService
. T'nin tipi umrumda değil. Ama bu yöntemi çağırdığımda Kotlin belirli bir türü soruyor. Peki bu yöntemi nasıl arayabilirim?