在以下情况中需要最佳方法,
我列出了源,目标,是/否等属性,如下所示:
Example:
source , destination , Yes/No
abc, bcd, Yes
abd, gdc, Yes
在java中我可以使用像
这样的条件if(Obj.getSource().equals("abc")) {
if(Obj.getDest().equals("bcd")) {
return true;
}
}
if(Obj.getSource().equals("abd")) {
if(Obj.getDest().equals("gdc")) {
return true;
}
}
通过这种方式,我可以处理上述情况,根据结果是,我可以处理我的业务逻辑。
但我的方法是两次检查,代码行冗长, 请建议我在java7或java8中的好方法。
答案 0 :(得分:0)
您可以使用逻辑运算符将所有四个条件合并为一个。例如,使用逻辑和 &&
和逻辑或 ||
。它可能看起来像:
if ((first && second) || (third && fourth)) {
return true;
}
或者用所有条件替换:
if ((Obj.getSource().equals("abc") && Obj.getDest().equals("bcd"))
|| (Obj.getSource().equals("abd") && Obj.getDest().equals("gdc"))) {
return true;
}
请注意,您可以在变量中记住Obj.getSource()
和Obj.getDest()
的结果,以便通过使用该变量来节省一些性能并使条件更具可读性。
如果您在其他情况下return false;
,您甚至可以完全忽略整个if
,因为您可以在评估条件后直接返回boolean
结果(它评估为true
或false
,无需返回true
和false
硬编码:
return (first && second) || (third && fourth);