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



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

然后我们做一个for循环,检查数组中的每个元素或槽。

if(Person[i].getName().equals("Tom"))或=="Tom"。我们是否需要一个if语句来检查Person[i]!=无效的有什么意义吗?它会限制空指针异常的数量吗?

为什么不直接使用:

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

有任何一点,它会限制空指针的数量吗例外情况?

当然,如果Person[i] 有一个null,它会限制null指针异常的数量

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

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

结果列表包含所有名为"Tom"的人员。

相关内容

最新更新