4.3.15 안전한 네비게이션 연산자 by ks

안전한 네비게이션 연산자는 NullposinterException 을 피하기 위해, 그리고 그루비 언어로작성되었다. 전형적으로 오브젝트를 참조한다면 오브젝트의 프로퍼티나 메소드의 접근 전에 null이 안나도록 도와준다. 아래는 어떻게 안전한 네비게이션 연산자를 사용하는지를 보여준다.

ExpressionParser parser = new SpelExpressionParser();
EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build();

Inventor tesla = new Inventor("Nikola Tesla", "Serbian");
tesla.setPlaceOfBirth(new PlaceOfBirth("Smiljan"));

String city = parser.parseExpression("PlaceOfBirth?.City").getValue(context, tesla, String.class);
System.out.println(city);  // Smiljan

tesla.setPlaceOfBirth(null);
city = parser.parseExpression("PlaceOfBirth?.City").getValue(context, tesla, String.class);
System.out.println(city);  // null - does not throw NullPointerException!!!

Last updated