1) if(null != parentObj.childObj)
if(null != parentObj.childObj)
2) if(parentObj.childObj != null)
if(parentObj.childObj != null)
Считаете ли вы, что «1» позволит избежать потенциального исключения нулевого указателя в случае, когда «parentObj» равен нулю, вконтраст "2"?
Почему не просто if(parentObj != null && parentObj.childObj != null)?
if(parentObj != null && parentObj.childObj != null)
номер
Если parentObj равен нулю, то любая попытка вызвать метод или обратиться к полю приведет к NullPointerExcepton. ! = всегда оценивает обе стороны.
Просто проверьте, является ли parentObj нулевым, и обработайте его соответствующим образом.
Если parentObj имеет значение NULL, ссылка на любой метод / поле в parentObj приведет к NPE.Другими словами, вам нужно if (parentObj != null && parentObj.childObj != null), чтобы избежать NPE.Groovy сокращает этот (очень распространенный) тип многословия с помощью безопасного оператора навигации , который позволяет писать if (parentObj?.childObj).
if (parentObj != null && parentObj.childObj != null)
if (parentObj?.childObj)