Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin空检查错误_Kotlin_Kotlin Null Safety - Fatal编程技术网

Kotlin空检查错误

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()) {

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

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,第三方图书馆