2010-11-29 12 views
3

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 ?."?

+0

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). –

+0

Schade, dass wir keinen "Elvis + Assign Operator" wie x? = Y haben, dh y zu x zuweisen, wenn x null ist – fabien7474

+1

@fabien würde es tun, oder "y" zuweisen zu 'x' wenn' y' war nicht "null"? –

Antwort

6

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

1

Es ist die Groovy null-safe Operator Es führt eine Null überprüfen, bevor das Objekt Dereferenzierung. mehr auf Groovy-Operatoren here.

4

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.

Verwandte Themen