作者mgtsai ()
看板java
標題Re: [問題] 傳參數可以call by reference嗎?
時間Mon Nov 15 22:01:40 2010
※ 引述《m13m13m (奇怪 還沒收到??)》之銘言:
: 請問如果今天傳的不是object
: 1. 比如是一個int,可以call by reference嗎?
: 到底怎麼辦? 一個integer 進去一個method然侯直接改變值
: 還是說一定要把它包成一個object 丟到method去? @@~
: 還是java 還有其他方法...
: ps: 這裡暫時不能用return的方法...
Java 語法並不支援 call by reference
若要達到類似的效果,則要透過 object
一個比較偷懶的方法,就是使用 integer 陣列當作這個 object
省去自己多寫一個 class 的麻煩
int[] x = {oldValue};
method(x);
int newValue = x[0];
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.58.129
推 akaing:用Integer class 11/15 23:03
→ qrtt1:不可變物件都不行啊xd 11/16 00:10
→ Lordaeron:L/R value 都沒搞清楚,就在這行或不行了. 11/16 01:26
推 akaing:我不懂原原po這樣做是要弄什麼 但我意思是做Wrapper class 11/16 09:03
推 akaing:並不是要primitive type 去支援Call by reference 11/16 09:07
推 akaing:因為java底下cbr根本不可能實現嘛! 一直斷 11/16 11:12
→ TonyQ:作 Wrapper class 還必須滿足不是 immutable 的條件。 11/16 13:56