Ich schreibe zwei Erweiterungsfunktionen für die gleiche Klasse:Ich habe zwei Kotlin Erweiterungsmethoden für die gleiche Klasse, aber mit einer anderen generischen Signaturen und dem Compiler beschwert
class Something<T:Any> { ... }
Sie sehen aus wie:
fun Something<Int>.toJson(): String = ...
fun Something<Double>.toJson(): String = ...
und führt zu dem Compiler-Fehler:
Kotlin: Platform declaration clash: The following declarations have the same JVM signature
Wie kann ich zwei Erweiterungsfunktionen erstellen, bei denen sich nur die Generics-Signatur unterscheidet? oder ist das nicht möglich?
Hinweis:diese Frage absichtlich geschrieben und beantwortet vom Autor (Self-Answered Questions), so dass die Antworten auf häufig gestellte Kotlin Themen in SO vorhanden sind. Es entstand in Kotlin slack # general channel.
dies auch für parametrisierte Lambda Argumente funktioniert – Antek