Ich benutze Java-Bibliothek. In der Exception-Klasse gibt es das Feld "localizedMessage" und das Feld "description". Ich weiß nicht warum, aber "Beschreibung" (das ist Java String) wird als String erkannt! von Kotlin, und wenn "description" null ist, gibt die Bedingung Beschreibung == null false zurück. Beispiel Code:Kotlin null-check bug
mvpView?.showToast(it.description?:it.localizedMessage)
oder ohne Elvis:
if (it.description.isNullOrBlank()) {
mvpView?.showToast(it.localizedMessage)
} else {
mvpView?.showToast(it.description)
}
es immer versucht, "Beschreibung" zu zeigen, aber "Ausdruck auswerten" im Debug-Modus kehrt auf Beschreibung wahr == null (wie erwartet).
Kotlin Version ist 1.1.1
Woher wissen Sie, dass es "Beschreibung" anstelle von "localizedMessage" zeigte? Vielleicht sind beide null. – glee8e
'String!' Ist die Notation, die angibt, dass der String aus Java stammt und daher weiß Kotlin nicht, ob er nullfähig ist oder nicht. – pdpi
@ glee8e vom Debugger –