- 411 名前:ジャバヒロ mailto:sage [04/01/19 02:36]
- public class Sample{
public static void main(String args[]){ int x = new int[1]; func(x); System.out.println(String.valueOf(x[0])); } static void func(int x[]){ x[0] = 100; } } ↑これって「100」と出力されるんですけど、どうしてですか? main()メソッドのx[0]は0で初期化されますよね? で、func()メソッドの引数として獲得されるx[]には main()メソッドで定義したx[]配列への参照がコピーして 渡されるんですよね? func()メソッド内で x[0] = 100; としたところで func()メソッドで獲得した引数としてのx[]の参照先が 変わるだけで、main()メソッドで定義したx[]配列には 影響ないんじゃないの?でも、「100」と出力されちゃう。 どなたか説明していただけませんか? 私の勘違いを指摘してください。
|

|