【发布时间】:2023-03-09 11:03:01
【问题描述】:
我正在通过 SharedPreferences 访问我的 Android 应用程序
private val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)`
然后尝试使用
从中获取数据val lat: String = sharedPref.getString("MyKey", "Default")
但是这一行给我一个错误阅读"Type mismatch. Required String, found String?"
根据文档,getString 方法中的第二个参数表示“如果此首选项不存在,则返回值。此值可能为空。”
那么,如果该值可以为空,那么有一个默认值有什么意义呢?我似乎无法获得永远使用的默认值,我可以让我的代码工作的唯一方法是使用 elvis 运算符并将我的代码重写为:
val lat: String = sharedPref.getString("MyKey", "Default") ?: "Default"
看起来很丑。我疯了吗?我错过了什么?
【问题讨论】:
标签: android kotlin sharedpreferences