Несоответствие типов при передаче arugment в Model Class - PullRequest
0 голосов
/ 17 января 2020

Проблема в том, что когда я создал экземпляр моего класса Model и передал ненулевую переменную в конструктор, компилятор показывает ошибку несоответствия типов. Я исправил ошибку несоответствия типов, установив переменную класса модели как nullable

Но я не смог понять ошибку, показанную компилятором.

Класс модели

class SharedPreferenceEntry (val name:String, val dateOfBirth:Calendar, val email:String)

Вспомогательный класс SharedPreferencesHelper, где я создал экземпляр класса Model и возвращаю этот экземпляр из функции

fun getPersonalInfo(): SharedPreferenceEntry { // Get data from the SharedPreferences.
        val name = mSharedPreferences.getString(KEY_NAME, "")
        val dobMillis =
            mSharedPreferences.getLong(KEY_DOB, Calendar.getInstance().getTimeInMillis())
        val dateOfBirth: Calendar = Calendar.getInstance()
        dateOfBirth.setTimeInMillis(dobMillis)
        val email = mSharedPreferences.getString(KEY_EMAIL, "")
        // Create and fill a SharedPreferenceEntry model object.
        return SharedPreferenceEntry(name, dateOfBirth, email)
    }

1 Ответ

1 голос
/ 18 января 2020

Как прокомментировал @ so nnet, использование mSharedPreferences.getString(...) вернет null, если ключ сопоставлен с null. Чтобы убедиться, что значение mSharedPreferences.getString(...) не равно нулю, измените его на mSharedPreferences.getString(...) ?: "".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...