Kotlin空检查错误
我使用Java库。在异常类中有“localizedMessage”字段和“description”字段。我不知道为什么,但“description”(即java字符串)被识别为字符串!当“description”为null时,条件description==null返回false。 代码示例:Kotlin空检查错误,kotlin,kotlin-null-safety,Kotlin,Kotlin Null Safety,我使用Java库。在异常类中有“localizedMessage”字段和“description”字段。我不知道为什么,但“description”(即java字符串)被识别为字符串!当“description”为null时,条件description==null返回false。 代码示例: mvpView?.showToast(it.description?:it.localizedMessage) 或者没有猫王: if (it.description.isNullOrBlank()) {
mvpView?.showToast(it.description?:it.localizedMessage)
或者没有猫王:
if (it.description.isNullOrBlank()) {
mvpView?.showToast(it.localizedMessage)
} else {
mvpView?.showToast(it.description)
}
它总是试图显示“description”,但调试模式下的“evaluate expression”在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";
}
你怎么知道它显示的是
说明
而不是本地化消息
?可能它们都是空的。String
是用于指示字符串来自Java的表示法,因此Kotlin实际上不知道它是否可为null。@glee8e from Debugger此异常来自何处?实际的java.lang.Exception
没有description
属性。(你可以接受自己的答案。)@EugenPechanec,第三方图书馆