【发布时间】:2013-02-28 10:13:05
【问题描述】:
在查看一些 java 代码时,我遇到了这样一段代码:
Integer initialQ = someObject.getInitialQ();
Integer finalQ = null;
BigDecimal factor = calculateFactor(initialQ, finalQ);
if (finalQ.compareTo(initialQ) != 0){
//do something
}
finalQ在方法calculateFactor中被修改。
Eclipse 在if (finalQ...) 上给了我一个“空指针访问:变量 idUnidadFinal 在这个位置只能为空”警告。我明白,既然我们需要从方法中返回factor,那么修改finalQ 的唯一方法就是将它作为引用传递。但是,这是正确的、被接受的方式吗?
我能想到的唯一替代方法是设计一个新类,其中包含 finalQ 和 factor 作为字段,但看起来过于复杂。
【问题讨论】: