在崩溃中,我在第 4 行收到java.lang.IllegalStateException: readValue(content, jacksonTypeRef<T>()) must not be null
异常。我无法重现它。我认为mapper.readValue(string)
在不应该的地方返回空。我处理了字符串为空大小写,所以除了字符串为空之外,还有什么可能导致mapper.readValue(string)
返回 null,所以我最终会出现这个异常,有什么可能的方法可以重现此错误?
var token: token? = null
get() {
val string = sharedPreferences.getString(TOKEN_KEY, null)
field = if (string == null) null else mapper.readValue(string)
return field
}
set(value) {
field = value
val json = mapper.writeValueAsString(value)
sharedPreferences.edit().putString(TOKEN_KEY, json).apply()
}
事实证明sharedPreferences.getString(TOKEN_KEY, null)
返回"null"字符串,在这种情况下mapper.readValue(string)
返回null
。