假设我们有一个数组,并且我们有一个if语句来检查数组[i]的内容是否相同。例如,我们有一个Person [] array = new Person [10];我们将返回名为" Tom"的数组中的Person。
然后我们将进行for循环并检查数组中的每个元素或槽。
if(Person[i].getName().equals("Tom"))
或==" Tom" 。我们是否需要if-sentence来判断Person [i]!= null?是否有点,是否会限制空指针异常的数量?
答案 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;。
的所有人员