public boolean createPricebreakupOrder(int x, int y) {
boolean returnFlag = false;
try {
if (x == y) {
returnFlag = true;
}
} catch (final Exception e) {
LOG.debug("Exception while Price Breakup Create" + e.getMessage());
returnFlag = false;
}
return returnFlag;
}
现在我从两个不同的类中调用此方法;并从每个类传递相同的参数。对于第一个类,该方法正在执行并returnFlag = true
。而对于其他人,即使使用相同的参数,它也会返回false。
答案 0 :(得分:3)
请放心,因为try
块中的代码不会抛出异常,所以您的函数等同于
public boolean createPricebreakupOrder(int x, int y)
{
return x == y;
}
这个函数没有任何不确定性:相同的输入参数将产生相同的结果。
如果x
和y
实际上是Integer
类型,则==
可能因参考比较而失败,或者,自动拆箱时可能会抛出NPE在调用函数时null
Integer
到int
。