7

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

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;
    }
}

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

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

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

if (element.getAdditionalValue() != null) {
    return element.getAdditionalValue();
}

但是,一旦到达该if语句,它就会抛出一个错误,指出该值为null. 我怎样才能使它不会引发错误而只是跳过return语句 if additionalValueis null

编辑:

但问题是元素不能在它通过条件null时检查的点。additionalValueelement.getValue.equals("Value1")

for (DataSet element : dataSet) {
    if (element.getValue.equals("Value1")) {
        if (element.getAdditionalValue() != null) {
            return element.getAdditionalValue();
        }
     }
}
4

2 回答 2

21

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

if (element != null && element.getAdditionalValue() != null){
   return element.getAdditionalValue();
}
于 2012-07-13T13:00:24.753 回答
3

这将为您整理:

if (element != null && element.getAdditionalValue() != null) {
    return element.getAdditionalValue();
}
于 2012-07-13T13:01:05.870 回答