java - 跳过空数组

标签 java arrays

我正在删除数组的一部分,当此方法执行完毕后,我得到一个空点异常。我怎样才能让它跳过具有 null 值的数组?

 public static int getTotal(Candidate[] list)   
    {  
        int total = 0;  
        for(int i = 0; i < list.length; i++) 
        {

        total = list[i].getVotes() + total;  
    }

        return total;  
    }  

最佳答案

你可以这样做:

total += list[i] != null ? list[i].getVotes() : 0;

在 Java 8 中,您的方法将类似于:

public static int getTotal(Candidate[] list) {
    return Stream.of(list)
                 .filter(s -> s != null)
                 .collect(Collectors.summingInt(Candidate::getVotes));
}

关于java - 跳过空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22580124/

相关文章:

java - 无法对 ArrayList 执行操作

php - 打印 $GLOBALS 时 "*RECURSION*"是什么意思?

javascript - 使用each-in循环后无法操作输入ember中的对象模型

java - 检查数组java

java - 在 java 中解析自定义数据格式

java - '+=' 和 '++' 运算符层次结构的组织?

C- 将结构数组设置为 null

arrays - 将静态数组转换为 Delphi 中的指针?

java - 将一个 StringBuilder 附加到另一个 StringBuilder

java - 评估 boolean 表达式