说到 Java 中处理“null”的最佳实践(尤其是“List”返回),从实体类的 getMethod 返回“Collections.emptyList()”是一个好的实践吗?或者我们应该保持实体/数据类/方法整洁并始终返回其值(甚至是 null),然后在代码中的其他位置处理该 null,例如;
Class Reference{
private Reference reference;
@XmlElement(name = "Reference")
public List<Reference> getReference() {
if(reference==null){
return Collections.emptyList();
}
return reference;
}
public void setReference(List<Reference> reference) {
this.reference = reference;
}
}
或者更好地在我使用基本的 get 方法之后处理 null ?
编辑/警告:就我的场景而言,我注意到这种方法会使我的代码崩溃,我不知道为什么,当我稍后打电话时;
References ref= (References) jaxbUnmarshaller.unmarshal(xmlReader)
我收到不受支持的操作异常,但当我从 collections.emtpyList 中清理 getMethod 时,工作正常。因此与 @XmlElement 标记一起使用时要小心
一般来说,null
和“空”可以有不同的语义:null
“空”的意思是“它不在那里”,而“空”的意思是“它在那里,但里面什么也没有”。
如果您的类在“不存在”和“空”之间没有语义差异,那么返回一个空集合会更好:它可以节省if
在所有调用者中声明,使他们的代码看起来更干净。此外,在这种情况下我最初会设置this.reference
to Collections.emptyList()
,并删除了一个if
来自吸气剂。当然,在这种情况下,您的设置者需要null
-检查它的论点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)