Ich sah in einigen groovy Code:was ist das? auf groovigen Variablen? dieser
trip.id?.encodeAsHTML()
Was ist der Unterschied zwischen der Verwendung oder nicht mit "id ?."?
Ich sah in einigen groovy Code:was ist das? auf groovigen Variablen? dieser
trip.id?.encodeAsHTML()
Was ist der Unterschied zwischen der Verwendung oder nicht mit "id ?."?
Es prüft, ob das Objekt null ist oder nicht. Mit dieser Option können Sie die Nullpointer-Ausnahme verhindern.
Wenn Sie es verwenden, sollten Sie es für das gesamte Objekt (zB:. Trip.id?.otherstuff?.morestuff?.encodeAsHTML()
Es ist die Groovy null-safe Operator Es führt eine Null überprüfen, bevor das Objekt Dereferenzierung. mehr auf Groovy-Operatoren here.
es ist die „null-safe Dereferenzierungsoperator“ genannt wird. der Unterschied besteht darin, dass, wenn trip.id
null ist, anstatt eine NullPointerException
werfen, es null
als das Ergebnis zurück des Methodenaufrufs.
Zusätzlich zu den anderen Antworten, Ich möchte nur darauf hinweisen, dass diese Syntax in Verbindung mit dem "Elvis" -Operator sehr leistungsfähig ist: (siehe den Link Groovy Operators in Matts Antwort). –
Schade, dass wir keinen "Elvis + Assign Operator" wie x? = Y haben, dh y zu x zuweisen, wenn x null ist – fabien7474
@fabien würde es tun, oder "y" zuweisen zu 'x' wenn' y' war nicht "null"? –