首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将arugment传递给Model类时,类型不匹配

将arugment传递给Model类时,类型不匹配
EN

Stack Overflow用户
提问于 2020-01-18 00:16:29
回答 1查看 44关注 0票数 0

问题是,当我创建Model类的实例并将不可为空的变量传递给构造函数时,编译器显示错误Type-mismatch。通过将模型类变量设置为可空,我修复了类型不匹配错误

但是我不能理解编译器显示的错误。

模型类

代码语言:javascript
复制
class SharedPreferenceEntry (val name:String, val dateOfBirth:Calendar, val email:String)

Helper类SharedPreferencesHelper,我在其中创建了一个Model类的实例,并从function返回该实例

代码语言:javascript
复制
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)
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-18 09:34:01

正如@sonnet所评论的那样,如果键被映射到null,则使用mSharedPreferences.getString(...)将返回null。为确保mSharedPreferences.getString(...)的值不为空,请将其更改为mSharedPreferences.getString(...) ?: ""

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59791101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档