Mein Projekt hat Code wie folgt aus:Chaining Null-Safe-Operator
params.stringValue?.trim().replaceAll('aa', 'a')
Wir erwarten, dass, wenn params.stringValue
null war, dass beidetrim()
und replaceAll()
nicht aufgerufen werden.
Allerdings erhielten wir eine NullPointerException
auf dieser Zeile sagen, dass replaceAll()
nicht auf ein Null-Objekt aufgerufen werden kann.
Wir hatten den Code zu ändern, so zu sein:
params.stringValue?.trim()?.replaceAll('aa', 'a')
Warum Schnipsel ist der erste Code oben nicht funktionieren? Ist das ein Fehler in Groovy, der den Ausdruck auswertet, nachdem einmal eine Null gefunden wurde?
Ich denke, es ist ein "Feature", anstatt ein Fehler (!) – Armand