gpt4 book ai didi

java - 我们什么时候应该修改通过引用传递的对象?

转载 作者:行者123 更新时间:2023-12-01 08:13:49 24 4
gpt4 key购买 nike

在查看一些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 的唯一方法是将其作为引用传递。但是,这是正确的、可接受的做法吗?

我能想到的唯一替代方案是设计一个新类,其中包含 finalQfactor 作为字段,但看起来不必要的复杂。

最佳答案

这不是通过引用传递。在传递给它的函数中创建了一个新对象。 finalQ 的值只能为 null。如果您想更改值或使 finalQ 全局化,则需要返回该对象。

关于java - 我们什么时候应该修改通过引用传递的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15132825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com