检查对象中的元素是否为空

Sha*_*yLV 5 java null class nullpointerexception

我有一个类似于的简单数据集类:

class DataSet {
    private String value;
    private String additionalValue;

    public DataSet(String value, String additionalValue) {
        this.value = value;
        this.additionalValue = additionalValue;
    }

    public String getAdditionalValue() {
        return this.additionalValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个ArrayList<DataSet>并添加了一个新元素DataSet("Value1", null).

现在在某些时候我需要检查有值的条目"Value1"是否有additionalValue,如果有,它是什么.

我做了一个简单的循环检查value.equals("Value1") == true,然后我这样做:

if (element.getAdditionalValue() != null) {
    return element.getAdditionalValue();
}
Run Code Online (Sandbox Code Playgroud)

但是,只要它到达if语句,它就会抛出一个错误,表示值为null.我怎样才能让这个它不会引发错误,只是跳过的return声明,如果additionalValuenull

编辑:

但问题是元素不能nulladditionalValue它通过element.getValue.equals("Value1")条件时检查它.

for (DataSet element : dataSet) {
    if (element.getValue.equals("Value1")) {
        if (element.getAdditionalValue() != null) {
            return element.getAdditionalValue();
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

dav*_*ooh 18

我认为问题是你的element对象是null,所以你必须在检查之前检查它additionalValue.

if (element != null && element.getAdditionalValue() != null){
   return element.getAdditionalValue();
}
Run Code Online (Sandbox Code Playgroud)