Я прочитал некоторый код здесь: Is Java "pass-by-reference" or "pass-by-value"?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
Могу ли я выполнить то же самое с Byte
объекта. Я нахожусь в этом пункте в своем коде и задаюсь вопросом, как «установить» значение байтового объекта?
Если я использую оператор присваивания =
, то он выполняет new Byte()
autoboxing ?! и поэтому значение не возвращается.
Любые идеи? С уважением.
Java ** передается по значению **. И поскольку 'Byte' является неизменным, вы не можете изменить его значение. –
Возможно, я просто очень плотный, но где здесь используется «Byte»? –
@DennisMeng Я гипотетически заменил класс Dog классом Byte в примере кода. Это не работает. –