private boolean isLastCtfNeedReturn(SwCmpContract swCmpContract) {
Set<SwCmpProc> swCmpProcs = swCmpContract.getSwCmpProcs();
int qtyCtfNeedReturn = 0;
for (SwCmpProc swCmpProc : swCmpProcs) {
if (swCmpProc.getReturnStatus().equals(Constants.RETURNED_FLAG)) {
qtyCtfNeedReturn = qtyCtfNeedReturn + 1;
}
}
return qtyCtfNeedReturn == 1;
}
以上方法在调试时在进去if语句时,最终的qtyCtfNeedReturn的值却是0,我在if语句体中添加输出语句后,调试时,也会走到该行,但最终没有在控制台输出任何内容;由此判断语句根本没有执行。最后在if语句设断点,断点查看if条件值为false。
这是第一次遇到IDEA IDE调试的问题,困扰了1个小时左右,最终发现是IDE的问题。
仅此记录,当出现问题时,不要太相信IDE,当它出现问题时,很可能会影响你对错误的判断。