Ich habe Java-Datei zu Kotlin mit Android Studio eingebaut Dateikonverter konvertiert. Es zeigt unten Fehler an.Get instance error in kotlin: Smartcast zu "type" ist unmöglich
[SMARTCAST_IMPOSSIBLE] Smart-cast 'ReminderRequester' ist unmöglich, weil 'ReminderRequester' ist ein veränderliches Eigenschaft, die dieser Zeit
Mein Code-Schnipsel wie unten verändert worden sein könnte.
private var sReminderInstance: ReminderRequester? = null
val instance: ReminderRequester
get() {
if (sReminderInstance == null) {
sReminderInstance = ReminderRequester()
}
return sReminderInstance; // ERROR: Smart cast to 'ReminderRequester' is impossible, because 'ReminderRequester' is a mutable property that could have been changed by this time
}
Ich habe ähnliche Art der Frage überprüft, aber ich kann es nicht richtig verstehen.
Was ist die Bedeutung des obigen Fehlers und wie man es beheben kann?
das Stichwort übereinstimmen ** val ** bedeutet, dass die Variable unveränderlich ist (kann nicht geändert werden). Ändern Sie es in ** var ** – NSimon
verwenden 'Return sReminderInstance !!' – Les
@NSimon Danke für den Kommentar. Wenn ich es in Var geändert habe. Es zeigt Fehler als "[MUST_BE_INITIALIZED] Eigenschaft muss in dieser Zeile initialisiert werden". –