更简单的逻辑条件来检查非空要求
我有一些简单的逻辑来检查该字段是否有效:
private boolean isValidIfRequired(Object value) {
return
(required && !isEmpty(value)) || !required;
}
它告诉该字段如果是必需的且不为空或不是必需的,则该字段是有效的。
我不喜欢这个要求 || !必填部分。只需要一些东西就会更好。 如何简化此方法以使其更具可读性和简单性?
I have some simple logic to check if the field is valid:
private boolean isValidIfRequired(Object value) {
return
(required && !isEmpty(value)) || !required;
}
it tells that the field is valid if it's either required and not empty or not required.
I don't like this required || !required part. Something with just required would be better.
How do I simplify this method to make it more readable and simple?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
怎么样:
或(谢谢,@Peter Lawrey)
在任何一种情况下,如果
required
为false
,则||
或& ;&
表达式将短路并且isEmpty 永远不会叫。如果
required
为true
,则将评估||
或&&
的后半部分,调用isEmpty
并返回该调用的(反转)结果。How 'bout:
or (thanks, @Peter Lawrey)
In either case, if
required
isfalse
, the||
or&&
expression will short-circuit andisEmpty
will never be called. Ifrequired
istrue
, the second half of the||
or&&
will be evaluated, callingisEmpty
and returning the (inverted) result of that call.isValidIfRequired() 的预期返回是返回 true。
因此,特殊情况必须作为监护条款放在开头:
对我来说,上面的代码比一起使用包含 AND 或 OR 和否定的表达式更容易阅读
The expected return of isValidIfRequired() is to return true.
So the exceptional cases must be put at the beginning as guardian clausules:
for me the above code is more human-readable than using together expresions containing ANDs ORs and negations