【Java】配列の中身を文字列に置換する【1次元・多次元配列】

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を返します。
メソッドの使用例
それぞれのメソッドの使用例をサンプルコードで紹介します。
ToStringTest.java
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メソッドで出力すると、配列への参照が表示されます。