所以我有一个 if 语句,如下所示:
List<Integer> portsInUse = new ArrayList<Integer>();
. . .
if(portsInUse.contains((Integer) newPort1)
|| portsInUse.contains((Integer) newPort2){
fail(_____, "This port is already in use.");
}
newPort1
并newPort2
通过从 HttpServletRequest 中挖掘它们来分配。 fail(String parameter, String message)
是一种内部方法,用于提醒用户出现问题。
我想做的是能够判断哪个条件导致 if 语句触发,然后相应地设置失败消息。我可以这样做,还是我必须做这样的事情:
List<Integer> portsInUse = new ArrayList<Integer>();
. . .
boolean port1 = portsInUse.contains((Integer) newPort1);
boolean port2 = portsInUse.contains((Integer) newPort2);
if(port1 || port2){
if(port1)
fail("newPort1", "This port is already in use.");
else
fail("newPort2", "This port is already in use.");
}
或者,第三种选择,我应该像这样分解条件:
List<Integer> portsInUse = new ArrayList<Integer>();
. . .
if(portsInUse.contains((Integer) newPort1) {
fail("newPort1", "This port is already in use.");
}
if(portsInUse.contains((Integer) newPort2) {
fail("newPort2", "This port is already in use.");
}
我确定我把事情复杂化了,但提前谢谢你。