gpt4 book ai didi

java - 避免声明局部变量

转载 作者:行者123 更新时间:2023-11-29 06:36:58 26 4
gpt4 key购买 nike

我有这个:

public void log(Circle circOrig) {
...
}

我正在努力避免这样做:

private void addPositions(PositionsLogger positionsLogger) {
...
Circle circ = new Circle(0,0,0); //`circ` could be final
circ.setPosition(0,0);
posLogger.log(circ);
...
}

这样做:

public static void main(String[] args) {
...
posLogger.log(new (Circle(0, 0, 0).setPosition(0, 0)));
...
}

这显然是一个编译错误,因为 log() 需要一个 Circle,而不是 void

我怎样才能避免为这种微不足道的目的声明局部变量?

最佳答案

没有理由不使用局部变量。当您调用 new 时,它会以任何一种方式创建新对象。没有局部变量的解决方案更加困惑且可读性差。

变量只是指向内存的指针,其中分配了“circle”。因此,当将参数传递给您的日志函数时,您传递该指针并在日志内部,您正在使用创建的圆实例。没有深拷贝。

关于java - 避免声明局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19139294/

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