配列初期化の参照変数を出力するとどうなりますか?
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);