[英]Java - Pass by Reference for the Byte object
我在這里閱讀了一些代碼: 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()
自動裝箱?! 因此該值不會傳回。
有任何想法嗎? 問候。
Byte
是不可變的,這意味着它的值不能更改。 在您的情況下,對其進行分配將不起作用,因為這只會重新綁定引用(不會傳播回調用者)。
您可以使用MutableByte
,一個元素的byte
/ Byte
數組或自定義類。
前面的答案是正確的,但是只是添加了-是的,在這種情況下,Byte對象是通過引用傳遞的。 但是,因為即使通過引用傳遞了Byte對象,它也是不可變的,所以無法對其進行修改。
更具體地說,在調用函數時,函數中的參數是按值傳遞的,但是當您傳遞對象時,實際上按值傳遞的是對該對象的引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.