いももちのきもち

新米プログラマによる技術的メモ

配列の中身をダンプする(表示する)

public class Main {
    public static void main(String[] args) throws Exception {
        String[] s = {"python", "java", "scala"};
        String[][] ss = {{"p", "y"}, {"t", "h"},{"o", "n"}};
        System.out.println(s);
        System.out.println(ss);
    }
}

//結果1
[Ljava.lang.String;@15db9742
[[Ljava.lang.String;@6d06d69c

System.out.println()ではクラス名とハッシュコードが表示されてしまいます。

import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws Exception {
        String[] s = {"python", "java", "scala"};
        String[][] ss = {{"p", "y"}, {"t", "h"},{"o", "n"}};
        System.out.println(Arrays.toString(s));
        System.out.println(Arrays.toString(ss));
    }
}

//結果2
[python, java, scala]
[[Ljava.lang.String;@15db9742, [Ljava.lang.String;@6d06d69c, [Ljava.lang.String;@7852e922]

Arrays.toString()を用いると一次元配列は正しく表示できました。

import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws Exception {
        String[] s = {"python", "java", "scala"};
        String[][] ss = {{"p", "y"}, {"t", "h"},{"o", "n"}};
        System.out.println(Arrays.deepToString(s));
        System.out.println(Arrays.deepToString(ss));
    }
}

//結果3
[python, java, scala]
[[p, y], [t, h], [o, n]]

Arrays.deepToString()を用いて二次元配列も正しく内容を表示できました。