簡體   English   中英

Java-字節對象的引用傳遞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM