Часто я вижу кодовые конструкции, подобные следующим:
if(a == null || b == null || c == null){
//...
}
Интересно, есть ли какая-либо широко используемая библиотека (Google, Apache и т.д.) Для проверки на недействительность нескольких объектов одновременно, например:
if(anyIsNull(a, b, c)){
//...
}
или же
if(allAreNulls(a, b, c)){
//...
}
ОБНОВИТЬ:
- Я прекрасно знаю, как написать это сам
- Я знаю, что это может быть результатом плохой структуры программы, но это не так здесь
-
Давайте сделаем это более сложным и заменим оригинальный пример чем-то вроде этого:
if(a != null && a.getFoo() != null && a.getFoo().getBar() != null){ //... }
ОБНОВЛЕНИЕ 2:
Я создал запрос на извлечение библиотеки Apache Commons Lang, чтобы устранить этот пробел:
- Проблема: https://issues.apache.org/jira/browse/LANG-781.
- PR: https://github.com/apache/commons-lang/pull/108
Они будут включены в commons-lang, версия 3.5:
-
anyNotNull (Object... values)
-
allNotNull (Object... values)