[问题] 取得基本型别的reference

楼主: lordfish62 (阿瑜)   2014-07-16 11:54:34
版上的各位好,
想请教各位如何在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.
楼主: lordfish62 (阿瑜)   2014-07-16 12:23:00
你好,我知道call by value跟call by referencejava除了基本型别以外,其他的变量名称本身就是referenc所以java是无法取得基本型别的reference喔
作者: popcorny (毕业了..@@")   2014-07-16 13:14:00
Excatly
作者: Killercat (杀人猫™)   2014-07-16 13:36:00
用boxing吧
作者: LPH66 (-6.2598534e+18f)   2014-07-16 14:18:00
第一个想到的也是 boxing...不过弄这个有些眉角要顾
作者: sbrhsieh (十年一梦)   2014-07-16 14:26:00
temp变量不是primitive type,一样也不行。
作者: swpoker (swpoker)   2014-07-16 14:28:00
还好我答对010~哈~但我还是要说要先搞清楚语言的特性再说
作者: Killercat (杀人猫™)   2014-07-16 16:23:00
auto boxing是个非常语焉不详的东西 最好都用手动明确定义,不然都会踩到很多奇怪的地雷...
作者: kogrs (kogrs)   2014-07-16 20:18:00
定义新的class ,把你要的基本型别当成member ,然后传object进去

Links booklink

Contact Us: admin [ a t ] ucptt.com