我在这里读了一些代码: Is Java "pass-by-reference" or "pass-by-value"?
public void foo(Dog d)
{
d.getName().equals("Max"); // true
d.setName("Fifi");
}
Dog aDog = new Dog("Max");
foo(aDog);
aDog.getName().equals("Fifi"); // true
我可以对 Byte
对象执行相同的操作吗?我现在在代码中想知道如何“设置”字节对象的值?
如果我使用=
赋值运算符,它似乎会执行new Byte()
自动装箱?!因此该值不会被传回。
有什么想法吗?问候。
最佳答案
Byte
是不可变的,这意味着它的值不能更改。在您的情况下分配给它不起作用,因为这只会重新绑定(bind)引用(不会传播回调用者)。
您可以使用MutableByte
、单元素 byte
/Byte
数组或自定义类。
关于Java - 通过引用传递 Byte 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173471/