Starałem się zrobić coś podobnego do this (właściwie nie trzeba czytać w link, aby zrozumieć to pytanie, to tylko w celach informacyjnych), a piszę to:Dlaczego AtomicInteger jest abstrakcyjny w Kotlin? (Działa dobrze w Javie)
class CallArbiter: AtomicInteger { // error
constructor(initialValue: Int) : super(initialValue)
constructor() : super()
}
kompilator mówi:
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
nie mogę zrozumieć, dlaczego to wymaga mnie do wdrożenia tych metod. Nie widziałem ich w klasie AtomicInteger
. Wszystko jest w porządku w Javie.
to zmapowany typ dla Kotlin. –
Tak, ponieważ 'kotlin.Number' jest zmapowany do' java.lang.Number' – ice1000
Wygląda na to, że stanął wobec tego błędu: https://youtrack.jetbrains.com/issue/KT-16087 – Ilya