私はアンドロイドスタジオinbuiltファイルコンバータを使用してJavaファイルをkotlinに変換しました。以下のエラーが表示されます。kotlinでインスタンスエラーが発生する: 'タイプ'へのスマートキャストが不可能
[SMARTCAST_IMPOSSIBLE]「ReminderRequester」へのスマートキャストが 「ReminderRequesterは」
私のコードスニペットは、以下の通りである。この時点で が変更されている可能性も変更可能なプロパティがあるので、不可能です。
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
}
私は同様のタイプの質問をチェックしましたが、正しく理解できません。
上記のエラーの意味とその修正方法を教えてください。
キーワードに一致するようにプロパティの種類を変更** val **は変数が不変(変更不可)であることを意味します。それを** var ** – NSimon
に変更してください 'return sReminderInstance !!' – Les
@ NSimonコメントありがとうございます。私はそれをvarに変更したとき。その行に "[MUST_BE_INITIALIZED]プロパティを初期化しなければならない"というエラーが表示されます。 –