当我表演时:
sharedPref.putString("id", null)
它出现在我的sharedPrefs
文件中,如下所示:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="waiting" value="false" />
<string name="state">initial</string>
<string name="id"></string>
</map>
当我尝试检索它时:
val id = sharedPref.getString("id", null) ?: return // doesn't return
Log.d(TAG, "id == blank: ${id.isBlank()}") // true
它表示该值为空白而不是null。
因此,如果将sharedPrefs中的字符串设置为null,那么它实际上不是null吗?它将为空白({{1)}。
我想将其设置为null,以便更轻松地检查Kotlin的null安全性-但是我不确定这是否可能?
答案 0 :(得分:0)
您只需从SharedPreferences中删除条目即可。
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.remove("id");
editor.apply();
现在,您可以使用以下行检查该条目是否存在:
if (sharedPrefs.contains("id")) {
// entry exists
} else {
// entry does not exist
}