在crashlytics上,我在第四行收到一个java.lang.IllegalStateException: readValue(content, jacksonTypeRef<T>()) must not be null
异常。我无法复制它。我认为mapper.readValue(string)
在不应该返回null的地方返回null。我处理了字符串为null的情况,所以除了字符串为null之外,什么可能导致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()
}
答案 0 :(得分:0)
事实证明,在这种情况下,sharedPreferences.getString(TOKEN_KEY, null)
返回“ null”字符串,而mapper.readValue(string)
返回null
。