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声明,如果additionalValue是null?
编辑:
但问题是元素不能null在additionalValue它通过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)