Moh*_*sam 5 sharedpreferences kotlin
1)在下面的图片中,我想了解为什么sharedPreferences.getString()给我类型不匹配,它可能返回null,但sharedPreferences.getBoolean()和sharedPreferences.getInt()不给我类型不匹配警告?
2)那么 defValue 呢,如果没有找到SharedPrefKey.App_LANGUAGE,它不是会返回en吗?所以它不能返回 null,对吧?
getString查看接口中的实现SharedPreferences。
@Nullable
String getString(String key, @Nullable String defValue);
Run Code Online (Sandbox Code Playgroud)
该方法本身被标记为,@Nullable这意味着它可以返回 null。现在,如果您查看该defValue参数,您会发现它也被标记为@Nullable意味着您不必传递默认值。如果您正在寻找不存在且未传入默认值的字符串首选项,则将返回 null。
int getInt(String key, int defValue);
boolean getBoolean(String key, boolean defValue);
Run Code Online (Sandbox Code Playgroud)
getInt如果您查看上面的实现getBoolean,您会发现您必须传入默认值,因此它永远不会为空。这就是为什么您会看到可空性与您发布的示例之间的差异。
| 归档时间: |
|
| 查看次数: |
1545 次 |
| 最近记录: |