2014-11-10 4 views
-1

Скажем, у нас есть массив, и у нас есть предложение if, проверяющее, является ли содержимое массива [i] одинаковым. Например, у нас есть Person [] array = new Person [10]; И мы собираемся вернуть Person в массив, который имеет имя «Tom».Является ли проверка нулевого значения в массиве значимым/полезным?

Затем мы сделали бы цикл for и проверили бы каждый элемент или слот в массиве.

if(Person[i].getName().equals("Tom")) or == "Tom". Нужно ли if-предложение, проверяющее ли Person [i]! = Null? Есть ли точка ny, будет ли она ограничивать количество исключений нулевого указателя?

+7

Если в массиве 'Person []' 'есть' null', тогда да, если вы удалите эту проверку «null», вы можете получить «NullPointerException». –

+1

Возможный дубликат: http://stackoverflow.com/questions/271526/avoiding-null-statements-in-java – whiskeyspider

+2

Это второй раз за последние 20 минут, я вижу 'метод'' '' '' '' '' '' '' '' '' '' '' '' '' '' ''''''''. Кто сказал вам, ребята, использовать 'getName. (« Tom »)' вместо 'getName (« Tom »)'? – Pshemo

ответ

2

почему бы не просто использовать:

if(Person[i] != null && Person[i].getName("Tom")) 

Есть пу точки, это будет ограничивать количество нулевого указателя исключений?

Конечно, это ограничит количество нулевых исключений указателя, если у вас есть нуль для Person[i]

0

Я думаю, что было бы лучше, чтобы создать свой код таким образом, что не нулевые элементы находятся в массиве , Во всяком случае, в Java 8 вы можете сделать это:

Person[] persons = ... 
List<Person> result = Arrays.stream(persons) 
          .filter(Objects::nonNull) 
          .filter(p -> "Tom".equals(p.getName())) 
          .collect(Collectors.toList()); 

В список результатов включены все лица с именем «Том».

Смежные вопросы