JavaのArrayクラス
のtoStringメソッド
とdeeptoStringメソッド
で配列の中身を文字列に置き換える方法を紹介します。
それぞれのメソッドの書式を以下に示します。
1// toStringメソッドの書式例
2Arrays.toString(Object[] obj);
3
4// deepToStringメソッドの書式例
5Arrays.deepToString(Object[] obj);
toStringメソッド
を使うことで配列を文字列に置き換えることができます。deepToStringメソッド
では多次元配列(2次元以上の配列)を文字列に置き換えることができます。
多次元配列とは、配列が入れ子構造になっている配列のことです。
1// 1次元配列
2String[] str1 = { "10", "20", "30" };
3
4// 2次元配列
5String[][] str2 = { { "10", "20", "30" }, { "40", "50", "60" } };
引数がnull
の場合はnull
を返します。
それぞれのメソッドの使用例をサンプルコードで紹介します。
1import java.util.Arrays;
2
3public class ToStringTest {
4 public static void main(String[] args) {
5 String[] str1 = { "10", "20", "30" };
6 String[][] str2 = { { "10", "20", "30" }, { "40", "50", "60" } };
7 String[] str3 = null;
8
9 // toStringでstr1,str2,str3を出力する
10 System.out.println("str1:" + Arrays.toString(str1));
11 System.out.println("str2:" + Arrays.toString(str2));
12 System.out.println("str3:" + Arrays.toString(str3));
13 // deepToStringでstr1,str2,str3を出力する
14 System.out.println("str1:" + Arrays.deepToString(str1));
15 System.out.println("str2:" + Arrays.deepToString(str2));
16 System.out.println("str3:" + Arrays.deepToString(str3));
17 }
18}
実行結果が以下になります。
1str1:[10, 20, 30]
2str2:[[Ljava.lang.String;@4517d9a3, [Ljava.lang.String;@372f7a8d]
3str3:null
4str1:[10, 20, 30]
5str2:[[10, 20, 30], [40, 50, 60]]
6str3:null
多次元配列をtoStringメソッド
で出力すると、配列への参照が表示されます。