配列初期化の参照変数を出力するとどうなりますか?
int[] it=new int[10];
sop(it);
結果は?
int[] it = new int[10];
System.out.println(it);
itはオブジェクトであるため、渡されたオブジェクトを内部的に呼び出すprintln(Object)of PrintStream( System.out) を呼び出しています。toString()配列はObjecttoString()に似ています:toString()
getClass().getName() + "@" + Integer.toHexString(hashCode());
したがって、出力は次のようになります。
[I@756a7c99
ここ[で、 は配列の深さを表し、 をI参照しintます。16 進数として756a7c99返される値です。hashCode()
Class.getName()JavaDocを読んでください。
配列を印刷するにはArrays.toString()、次のようなものを使用します。
int[] it = new int[10];
System.out.println(Arrays.toString(it));
出力:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
sopそれがであると仮定するとSystem.out.println、メソッドによって返された文字列の結果が表示されますtoString。この場合、クラスの名前 + "@" + ハッシュコードの 16 進数になります。
何かのようなもの[I@30c221
これは、新しい配列のメモリ アドレスです。
int[] it=new int[10];
System.out.println(it);