我有一个类似于:
的简单数据集类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)
。
现在,在某些时候,我需要检查值为"Value1"
的条目是否有additionalValue
,如果是,则检查它是什么。
我做一个简单的循环检查value.equals("Value1") == true
,然后我做:
if (element.getAdditionalValue() != null) {
return element.getAdditionalValue();
}
但是,只要它到达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();
}
}
}
答案 0 :(得分:18)
我认为问题是您的element
对象是null
,因此您必须在检查additionalValue
之前检查它。
if (element != null && element.getAdditionalValue() != null){
return element.getAdditionalValue();
}
答案 1 :(得分:3)
这会让你感到厌烦:
if (element != null && element.getAdditionalValue() != null) {
return element.getAdditionalValue();
}