【Java】toString/deepToStringで配列(Array)の中身(要素)を文字列にして表示する!
配列(Array)の中身(要素)を文字列にして表示するには
ArrayクラスのtoStringメソッドやdeeptoStringメソッドを使用します。
ArraysクラスのtoStringメソッドは、配列を文字列に変換するメソッドとなります。
また、ArraysクラスのdeeptoStringメソッドは多次元配列を文字列に変換するメソッドとなります。
そのため、二次元配列からはこちらのdeeptoStringメソッドを使用して要素を文字列として表示することができます。
今回はArraysクラスのtoStringとdeeptoStringを使って以下の場合で配列の中身を文字列にして表示してきます。
⚫︎ 一次元配列の要素を文字列にして表示する場合
⚫︎ 二次元配列の要素を文字列にして表示する場合
目次
toStringメソッドとは
ArrayクラスのtoStringメソッドとは、配列の要素を文字列へ変換するメソッドとなります。
toStringメソッドの書き方
AarrayクラスのtoStringメソッドの構文は下記となります。
1 2 3 |
import java.util.Arrays; Arrays.toString(配列); |
Arrayクラスをインポートすることで、Arraysクラスのメソッドを使用でき、toStringの()に配列を指定することで指定した配列の要素を文字列として表示することができます。
toStringを使用する時の注意点
配列もオブジェクトであるため通常のtoStringメソッドを使用することができます。
例
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { public static void main(String[] args) throws Exception { String[] stA = {"愛知県", "青森県", "秋田県"}; // そのまま表示した場合 System.out.println("一次元配列"); System.out.println("toStringでの表示"); System.out.println(strA.toString); } } |
出力結果
一次元配列
toStringでの表示
[Ljava.lang.String;@4617c264
しかし、通常のtoStringメソッドを使うと型の情報と配列を文字列として取り出すことができませんので注意してください。
deeptoStringメソッドとは
ArraysクラスのdeeptoStringメソッドとは、多次元配列の要素を文字列へ変換するメソッドとなります。
deeptoStringメソッドの書き方
ArraysクラスのdeeptoStringメソッドの構文は下記となります。
1 2 3 |
import java.util.Arrays; Arrays.deepToString(配列); |
Arrayクラスをインポートすることで、Arraysクラスのメソッドを使用でき、deeptoStringの()に配列を指定することで、指定した多次元配列の要素数を取得します。
配列の中身を文字列にして表示するサンプルコード
配列の中身を文字列にして表示するサンプルコードを紹介します。
一次元配列の場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 配列の中身を表示する import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { String[] strA = {"愛知県", "青森県", "秋田県"}; // [Arrays.toString] メソッドを使用した場合 System.out.println("Arrays.toStringでの表示"); System.out.println(Arrays.toString(strA)); } } |
出力結果
Arrays.toStringでの表示
[愛知県, 青森県, 秋田県]
toSringメソッドで一次元配列の要素を文字列にして表示しています。
二次元配列の場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// 配列の中身を表示する import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { String[][] strB = { {"愛知県", "青森県", "秋田県"}, {"石川県", "茨城県", "岩手県"}, {"愛媛県"}}; // [Arrays.toString] メソッドを使用した場合 System.out.println("二次元配列"); System.out.println("Arrays.deepToStringでの表示"); System.out.println(Arrays.deepToString(strB)); } } |
出力結果
二次元配列
Arrays.deepToStringでの表示
[[愛知県, 青森県, 秋田県], [石川県, 茨城県, 岩手県], [愛媛県]]
deeptoStringメソッドで二次元配列の要素を文字列にして表示しています。
今回のポイント
toStringとdeeptoStringで配列の中身を表示
配列の中身を表示するにはArraysクラスのtoStringメソッドやArraysクラスのdeeptoStringメソッドを使用する。
⚫︎ 配列を通常のtoStringメソッドで文字列化する場合は、その中身を見ることができない
⚫︎ ArraysクラスのtoStringメソッドやArraysクラスのdeeptoStringメソッドで配列の中身を表示し、配列のように各要素の文字表現をカンマで区切った文字列に変換する
⚫︎ toStringメソッドは、各要素をそのまま文字列に変換し、deeptoStringメソッドは、各要素が参照型の配列であれば、内部でさらにdeeptoStringメソッドを呼び出して文字列に変換する
⚫︎ 一次元配列の中身(要素)を文字列にして表示する場合は、toStringメソッドを、多次元配列の中身(要素)を文字列にして表示する場合は、deeptoStringメソッドを使用する
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。