假设我们有一个数组,我们有一句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"的人员。