【Java】配列の中身を文字列で出力する方法【1次元・多次元配列】

【Java】配列の中身を文字列で出力する方法【1次元・多次元配列】

配列の中身を文字列に置き換えるには、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メソッドで出力すると、配列への参照が表示されます。

参考文献

関連記事