作者lordfish62 (阿瑜)
看板java
标题[问题] 取得基本型别的reference
时间Wed Jul 16 11:54:34 2014
版上的各位好,
想请教各位如何在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
解释的有点乱,不知道我的表达是否清楚==
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.74.72.45
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1405482877.A.165.html
1F:→ popcorny:没办法!! Java没有这种语法 07/16 12:12
2F:→ popcorny:未看先猜底下开始要讲call by value/call by reference. 07/16 12:15
3F:→ lordfish62:你好,我知道call by value跟call by reference 07/16 12:23
4F:→ lordfish62:java除了基本型别以外,其他的变数名称本身就是referenc 07/16 12:24
5F:→ lordfish62:所以java是无法取得基本型别的reference喔 07/16 12:25
6F:→ popcorny:Excatly 07/16 13:14
7F:推 Killercat:用boxing吧 07/16 13:36
8F:推 LPH66:第一个想到的也是 boxing...不过弄这个有些眉角要顾 07/16 14:18
9F:→ sbrhsieh:temp变数不是primitive type,一样也不行。 07/16 14:26
10F:→ swpoker:还好我答对010~哈~但我还是要说要先搞清楚语言的特性再说 07/16 14:28
11F:→ Killercat:auto boxing是个非常语焉不详的东西 最好都用手动明确 07/16 16:23
12F:→ Killercat:定义,不然都会踩到很多奇怪的地雷... 07/16 16:24
13F:→ kogrs:定义新的class ,把你要的基本型别当成member ,然後传object 07/16 20:18
14F:→ kogrs:进去 07/16 20:19