gpt4 book ai didi

kotlin - 为什么 sharedPreferences.getString 可能返回 null?

转载 作者:行者123 更新时间:2023-12-02 13:08:28 25 4
gpt4 key购买 nike

1)在下面的图片中我想了解为什么 sharedPreferences.getString() 给我类型不匹配,它可能返回 null 但 sharedPreferences.getBoolean() sharedPreferences.getInt() 不给我类型不匹配警告?

2) defValue 怎么样,如果它没有找到 不是很重要吗? SharedPrefKey.App_LANGUAGE 它将返回 zh ?所以它不能返回null,对吗?

enter image description here

最佳答案

查看 getString 的实现在 SharedPreferences界面。

@Nullable
String getString(String key, @Nullable String defValue);

方法本身被标记为 @Nullable这意味着它可以返回 null。现在,如果您查看 defValue参数,你会注意到它也被标记为 @Nullable这意味着您不必传递默认值。如果您正在寻找一个不存在且未传入默认值的字符串首选项,那么它将返回 null。
int getInt(String key, int defValue);
boolean getBoolean(String key, boolean defValue);

如果你看一下 getInt 的实现和 getBoolean上面,你可以告诉你必须传入一个默认值,所以它永远不会为空。这就是为什么您在发布的示例中看到可空性差异的原因。

关于kotlin - 为什么 sharedPreferences.getString 可能返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57813653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com