je tentais de faire quelque chose de similaire à this (en fait, vous n'avez pas besoin de lire le lien pour comprendre cette question, il est juste pour la référence), et j'écris ceci:Pourquoi AtomicInteger est abstrait à Kotlin? (Il fonctionne très bien en Java)
class CallArbiter: AtomicInteger { // error
constructor(initialValue: Int) : super(initialValue)
constructor() : super()
}
Le compilateur dit:
Error:(8, 1) Kotlin: Class 'CallArbiter' must be declared abstract or implement abstract base class member public abstract fun toByte(): Byte defined in java.util.concurrent.atomic.AtomicInteger
Je ne peux pas comprendre pourquoi il me demande de mettre en œuvre ces méthodes. Je ne les ai pas vus dans la classe AtomicInteger
. Tout va bien en Java.
c'est un type mappé pour Kotlin. –
Oui, car 'kotlin.Number' est mappé sur' java.lang.Number' – ice1000
Vous avez probablement rencontré ce bogue: https://youtrack.jetbrains.com/issue/KT-16087 – Ilya