我正在通过以下方式访问我的Android应用程序SharedPreferences
private val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)`
and then attempting to get data from it using
val lat: String = sharedPref.getString("MyKey", "Default")
但这一行给了我一个错误,读"Type mismatch. Required String, found String?"
根据文档,getString方法中的第二个参数表示"如果此首选项不存在,则返回的值.This value may be null."
那么,如果默认值可以为空,那么有什么意义呢?我似乎无法使用默认值,而让代码正常工作的唯一方法是使用elvis运算符并将代码重写为:
val lat: String = sharedPref.getString("MyKey", "Default") ?: "Default"
Which looks ugly. Am I crazy? What am I missing?