Dan*_*her 2 java autoboxing byte pass-by-reference
我在这里读了一些代码: Java是"通过引用传递"还是"传递值"?
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
Run Code Online (Sandbox Code Playgroud)
我可以对Byte对象执行相同的操作.我在我的代码中的这一点,并想知道如何"设置"字节对象的值?
如果我使用=赋值运算符,它似乎执行new Byte()自动装箱?!因此价值不会被传回.
有任何想法吗?问候.
Byte是不可变的,这意味着它的价值无法改变.分配给它将不适用于您的情况,因为这将简单地重新绑定引用(它不会传播回调用者).
您可以使用MutableByte,单元素byte/ Byte数组或自定义类.