Kotlin无效检查错误

我使用Java库。 在异常类中有“localizedMessage”字段和“描述”字段。 我不知道为什么,但是“描述”(即java String)被识别为String! 通过Kotlin,当“description”为null时,条件描述== null返回false。 代码示例:

mvpView?.showToast(it.description?:it.localizedMessage) 

或没有猫王:

 if (it.description.isNullOrBlank()) { mvpView?.showToast(it.localizedMessage) } else { mvpView?.showToast(it.description) } 

它总是试图显示“描述”,但在调试模式下的“评估表达式”在描述== null(按预期)返回true。

Kotlin版本是1.1.1

原因是在getter中,如果description为null,则返回另一个字符串而不是description。

 public String getDescription() { if (description != null) { return description; } if (UNKNOWN_ERROR.equals(getCode())) { return String.format("Received error with code %s", getCode()); } return "Failed with unknown error"; }