我想了一个对象的一些代码优化和我目前唯一标题验证返回时的Java跳过空物体看起来是这样的:用.equals()
public boolean validateTitle(RawProfileConstraint rawProfileConstraint) {
RawProfileConstraint result = profileConstraintMapper.validateTitle(rawProfileConstraint.getTitle());
return (!rawProfileConstraint.getTitle().equals(result.getTitle()));
}
这工作,直到它抛出一个在那里发脾气数据库无法检索包含我试图验证的标题的记录 - 也就是说它可用。在那种情况下,result
将是null
。 在这种情况下,我如何在null
中加入处理程序,而不需要您常用的if-else
?
为什么 “没有你平时'如果-else'”? –
三元条件?:P – AxelH
提示:你的命名很混乱。你的“mapper”上的validateTitle方法返回一个RawProfileConstraint对象;您显示的validateTitle方法返回布尔值。这至少不一致!在我看来,验证方法应该是无效的,并为无效输入引发异常;或者你会返回一些带有有意义信息的“真实对象”。只是返回true/false;这几乎就像1995年的C编程风格。含义:考虑重命名你的方法;认为他们“以同样的方式工作”。 – GhostCat