我知道Java並不真正使用確切的引用傳遞,而是傳遞引用副本。這就是爲什麼試圖交換引用的交換函數在Java中不起作用的原因。 for-each循環是否也這樣做?例如,給定以下代碼...每個循環的Java是否返回引用或參考副本?
for (Constraint c : getLeafNodes(constraintGraph)){
c = new Constraint();
}
...我想要通過遞歸定義的樹狀結構,並查找所有葉節點。每個葉節點需要用新的空節點替換。這會做我所期望的嗎?還是僅僅將每個葉節點的引用副本設置爲新節點?
我在另一段通過單元測試的代碼上寫了一個類似的方法,這使得我認爲for-each循環使用引用,而不是引用副本,但是我們的代碼質量軟件將其標記爲本地死區變量,重大錯誤。
謝謝。
for-each循環不返回任何東西(給誰?)。你的問題與標題不符。 – 2011-05-02 15:55:49