Vla*_*mir 0 java logic refactoring boolean
我有一些简单的逻辑来检查字段是否有效:
private boolean isValidIfRequired(Object value) {
return
(required && !isEmpty(value)) || !required;
}
Run Code Online (Sandbox Code Playgroud)
它告诉该字段是有效的,如果它是要求的而不是空的或不需要.
我不喜欢这个必需的|| !必填部分 只需要的东西会更好.如何简化此方法以使其更易读和简单?
怎么样:
private boolean isValidIfRequired(Object value) {
return !required || !isEmpty(value);
}
Run Code Online (Sandbox Code Playgroud)
或者(谢谢@Peter Lawrey)
private boolean isValidIfRequired(Object value) {
return !(required && isEmpty(value));
}
Run Code Online (Sandbox Code Playgroud)
在任一情况下,如果required是false,则||或&&表达将短路和isEmpty将永远不会被调用.如果required是true,则将评估||或&&将评估的后半部分,调用isEmpty并返回该调用的(反向)结果.
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |