Во-первых, проверьте, не является ли сам массив null
.Если массив равен null
, он не имеет смысла перебирать его элементы, так как Java будет выдавать NullPointerException
при доступе к нему:
if (myArray != null) {
// ...
}
Затем внутри тела условия перебирать все его элементыи проверьте, является ли один из них null
.
boolean hasNull = false;
for (int i=0; i<myArray.length; i++) {
if (myArray[i] == null) {
hasNull = true;
break; // to terminate the iteration since there is no need to iterate more
}
}
Это однострочное решение (спасибо за предупреждение от @Napstablook).Условие оценивается как true
, если сам массив равен null
или один из его элементов равен null
:
if !(myArray != null && myArray[0] != null && myArray[1] != null) { ... }
Имейте в виду, что оператор &&
работает, если левая сторонаоцененный как false
, он останавливает оценку остальной части условия, потому что это не повлияет на результат.То же самое делает ||
, но с true
.Тем не менее, я предлагаю вам избежать этого решения, так как индекс может переполниться.Лучше использовать for-loop
, упомянутый выше.