Bezpieczne przechodzenie po grafie obiektów

Mariusz Wyszomierski Groovy, Java Bezpieczne przechodzenie po grafie obiektów

Groovy Java

Bezpieczne przechodzenie po grafie obiektów

Posted By Mariusz Wyszomierski

W Javie bezpieczne przechodzenie po grafie obiektów jest dosyć niewygodne. Odwołując się do kolejnych obiektów w łańcuchu musimy upewnić się czy nie są null’ami, aby uniknąć wyjątku NullPointerException.
W języku Groovy istnieje ciekawa konstrukcja/paradygmat do bezpiecznego przechodzenia po grafie obiektów.

Załóżmy, że graf obiektów wygląda następująco i „objectB” jest null:

objectA->objectB->objectC->objectD

Bezpieczne odwołanie się do „objectD” w języku Java:

if (objectA != null
	&& objectA.getObjectB() != null
	&& objectA.getObjectB().getObjectC() != null) {
	return objectA.getObjectB().getObjectC().getObjectD();
}

Ten sam zapis w języku Groovy:

return objectA?.objectB?.objectC?.objectD

W Groovy konstrukcja ?. pozwala na bezpieczną nawigację po grafie obiektów. Przed wywołaniem kolejnych elementów łańcucha sprawdzane jest czy obiekt poprzedzający wspomnianą konstrukcję nie jest null.
Jeżeli podczas przechodzenia po grafie zostanie napotkany null jest on zwracany.

Tagged , , , , , ,

Written by Mariusz Wyszomierski

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.