检查数组中的空值是否有意义/有用?

时间:2014-11-10 21:42:16

标签: java arrays if-statement

假设我们有一个数组,并且我们有一个if语句来检查数组[i]的内容是否相同。例如,我们有一个Person [] array = new Person [10];我们将返回名为" Tom"的数组中的Person。

然后我们将进行for循环并检查数组中的每个元素或槽。

if(Person[i].getName().equals("Tom"))或==" Tom" 。我们是否需要if-sentence来判断Person [i]!= null?是否有点,是否会限制空指针异常的数量?

2 个答案:

答案 0 :(得分:2)

为什么不直接使用:

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

是否有点,是否会限制空指针的数量   异常?

当然,如果Person[i]

为空,它会限制空指针异常的数量

答案 1 :(得分:0)

我认为最好以数组中没有null元素的方式设计代码。无论如何,在Java 8中你可以这样做:

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

结果列表包含姓名为#34; Tom&#34;。

的所有人员