作者tkcn (小安)
看板java
标题Re: [问题] 可否让阵列引数变成传值呼叫
时间Sat May 30 14:05:24 2009
※ 引述《Holocaust123 (Terry)》之铭言:
: 由此可知 java 的函数若以阵列为引数,预设是传址呼叫。
: 有没有办法改成传值呼叫呢?
1. Java 没有 Poninter,只有 Reference,
所以根本也不会有 Call by Address。
2. Java 也没有 Call by Reference,
全部都只是 Call by Value。
你的程式遇到的情形,
其实是对 reference 变数做了 Call by Value,
因此传入的参数是另一份 reference 但指向同一个物件,
对 reference 变数来说,这是 Call by Value。
详情请参考本版 5054 讨论串。
(光是本版大概就讨论了三次以上罗,不过比较完整的我只找到 5054 这串)
要解决你的问题,
请自己对阵列进行复制。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.4.53
1F:推 csihcs:就我的认知上C的call by address是call by value of pointe 05/31 12:11