是否有可能通過引用Java
喜歡傳對象在C#中
public static void SomeMethod(ref Object obj)
{
...
}
是否有可能通過引用Java
喜歡傳對象在C#中
public static void SomeMethod(ref Object obj)
{
...
}
不,就是這樣在Java中不可能。
在Java中,方法的所有參數都是按值傳遞的。請注意,作爲對象引用的非原始類型的變量也按值傳遞:在這種情況下,引用是,傳遞值爲。請注意,按值傳遞引用與傳遞引用不同。
不可以。Java只是按值傳遞。
雖然你不應該要求這樣的事情。您可以傳遞該對象並更改其字段 - 這將反映在調用者中。
對象的所有變量都是對象的引用。將對象傳遞給方法時,您已經傳遞了對象的引用。如果您不希望原始對象受到影響,則必須先克隆它。
準確簡潔的答案 – 2017-04-22 17:00:25
傳遞參考數據類型參數
參考數據類型參數,例如 爲對象,也傳遞到 方法由值。這意味着當該方法返回 時,傳入的 引用仍像以前一樣引用相同的 對象。但是,如果對象的字段值 具有適當的 訪問級別,則該方法中的值 可以更改爲 。
來源:Java Tutorial>Passing Information to a Method or a Constructor
你必須創建一個引用類。幸運的是,有一個。嘗試看看AtomicReference
。請注意,它旨在用於併發,因此它可能不適合。
另一個想法是傳遞一個長度爲1的Object數組。
我認爲所有的對象都通過java隱式傳遞給了參數java – snoofkin 2011-05-18 12:28:03
@soul Nope。一切都通過Java的價值傳遞,包括參考 – 2011-05-18 12:28:59
這已被問了幾十次。其中之一是這樣的:[在Java中如何通過引用傳遞](http://stackoverflow.com/questions/5614562/how-to-pass-by-reference-in-java) – 2011-05-18 12:29:26