2016-04-22 29 views
4

Nach der offiziellen Kotlin Dokumentation, die toString() Aufruf eines Null-Objekt zurückzugibt „null“ toString()Was ist der beste Weg

in Kotlin für ein Null-Objekt Methode toString() eine leere Zeichenfolge anstelle von „null“ zurück

Ich möchte, dass ToString() stattdessen eine leere Zeichenfolge ("") zurückgeben sollte. Ich habe es mit einer Erweiterungsfunktion implementiert.

Ich frage mich, ob dies einfacher/einfacher/sauberer und ohne jedes Mal die Erweiterungsfunktion aufgerufen werden könnte.

Antwort

8

Wie wäre:

nullable?.toString() ?: "" 

oder als Alexander Udalov vorgeschlagen:

nullable?.toString().orEmpty() 

Welche in eine Erweiterungsmethode wickeln kann:

fun Any?.toStringOrEmpty() = this?.toString() ?: "" 
+2

Oder eine etwas besser lesbare Version: 'nullable ? .toString(). orEmpty() ' –

Verwandte Themen