在 Kotlin 上,jackson ObjectMapper.readValue() 会导致 java.lang.IllegalStateException: readValue(content,



在崩溃中,我在第 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