版上的各位好,
想請教各位如何在java中取得基本型別如:int, char, ...
的reference呢?
寫個簡單的java code如下:
public class Test
{
public void foo(int m)
{
m += 1;
System.out.println(m);
}
public static void main(String[] args)
{
int temp = 0;
System.out.println(temp);
new Test().foo(temp);
System.out.println(temp);
}
}
輸出的結果是:
0
1
0
因為在java中基本型別的變數名稱並不是reference
我想問的是如何可以取得temp的reference傳進函式裡
使得輸出變成:
0
1
1
解釋的有點亂,不知道我的表達是否清楚==
作者:
popcorny (畢業了..@@")
2014-07-16 12:12:00沒辦法!! Java沒有這種語法未看先猜底下開始要講call by value/call by reference.
你好,我知道call by value跟call by referencejava除了基本型別以外,其他的變數名稱本身就是referenc所以java是無法取得基本型別的reference喔
作者:
popcorny (畢業了..@@")
2014-07-16 13:14:00Excatly
作者:
LPH66 (-6.2598534e+18f)
2014-07-16 14:18:00第一個想到的也是 boxing...不過弄這個有些眉角要顧
temp變數不是primitive type,一樣也不行。
作者:
swpoker (swpoker)
2014-07-16 14:28:00還好我答對010~哈~但我還是要說要先搞清楚語言的特性再說
auto boxing是個非常語焉不詳的東西 最好都用手動明確定義,不然都會踩到很多奇怪的地雷...
作者:
kogrs (kogrs)
2014-07-16 20:18:00定義新的class ,把你要的基本型別當成member ,然後傳object進去