gpt4 book ai didi

Java在转换为对象后更改变量的值

转载 作者:行者123 更新时间:2023-12-02 00:53:46 25 4
gpt4 key购买 nike

我试图在将变量转换为对象后更改它。这在 Java 中可能吗?或者还有其他选项可以做类似的事情吗?

Double a = 1.;
Object o = a;
Double b = (Double)o;
b = 2.;
System.out.println(a); // print 2

最佳答案

如果有两个引用指向同一个对象,则无法更改这两个引用,将其分配给一个新对象。

Double a = 1.,
Double b = a;
Double b = 2.; // here b now points to new object. a is not changed. Now you have two separate variables pointing to separate objects.

如果你真的需要它,那么你需要使用具有setter/better的包装类来操纵内部状态

DoubleWrapper a = new DoubleWrapper(2); // not a standard JDK class. You will need to write it yourself
DoubleWrapper b = a;
b.set(1);
System.out.println(b.get()); // prints 1
System.out.println(a.get()); // also prints 1

关于Java在转换为对象后更改变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57837502/

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