Java の Arrays.toString() と例

今日は、Java で配列を文字列として出力する最も簡単な方法である Arrays.toString() メソッドについて説明します。

Arrays.toString() メソッドの使用方法

説明:
指定された配列の内容の文字列表現を返します。文字列表現は、角括弧 ([]) で囲まれた配列要素のリストで構成されます。隣接する要素は文字 , (カンマの後にスペース) で区切られます。 a が null の場合は null を返します。

オブジェクト配列の場合、配列に要素として他の配列が含まれている場合、それらは Object から継承された Object.toString() メソッドによって文字列に変換され、その内容ではなくアイデンティティが記述されます。

バリエーション:

  • public static String toString(boolean[] arr)
  • public static String toString(byte[] arr)
  • public static String toString(char[] arr)
  • public static String toString(double[] arr)
  • public static String toString(float[] arr)
  • パブリック静的文字列 toString(int[] arr)
  • public static String toString(long[] arr)
  • public static String toString(Object[] arr)
  • public static String toString(short[] arr)

パラメーター:
arr – 文字列表現を返す配列

戻り値:
arr の文字列表現

使用法:
以下の Java コードは、Arrays クラスの toString() メソッドの使用法を示しています。

例:

ジャワ




// Java program to demonstrate working of Arrays.toString()> import> java.io.*;> import> java.util.*;> class> GFG {> > public> static> void> main(String[] args)> > {> > // Let us create different types of arrays and> > // print their contents using Arrays.toString()> > boolean> [] boolArr => new> boolean> [] {> true> ,> true> ,> false> ,> true> };> > byte> [] byteArr => new> byte> [] {> 10> ,> 20> ,> 30> };> > char> [] charArr => new> char> [] {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > double> [] dblArr => new> double> [] {> 1> ,> 2> ,> 3> ,> 4> };> > float> [] floatArr => new> float> [] {> 1> ,> 2> ,> 3> ,> 4> };> > int> [] intArr => new> int> [] {> 1> ,> 2> ,> 3> ,> 4> };> > long> [] lomgArr => new> long> [] {> 1> ,> 2> ,> 3> ,> 4> };> > Object[] objArr => new> Object[] {> 1> ,> 2> ,> 3> ,> 4> };> > short> [] shortArr => new> short> [] {> 1> ,> 2> ,> 3> ,> 4> };> > System.out.println(Arrays.toString(boolArr));> > System.out.println(Arrays.toString(byteArr));> > System.out.println(Arrays.toString(charArr));> > System.out.println(Arrays.toString(dblArr));> > System.out.println(Arrays.toString(floatArr));> > System.out.println(Arrays.toString(intArr));> > System.out.println(Arrays.toString(lomgArr));> > System.out.println(Arrays.toString(objArr));> > System.out.println(Arrays.toString(shortArr));> > }> }>

出力

[true, true, false, true] [10, 20, 30] [g, e, e, k, s] [1.0, 2.0, 3.0, 4.0] [1.0, 2.0, 3.0, 4.0] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] 

ユーザー定義クラスのオブジェクトに対して Arrays.toString() を使用することもできます。
Arrays.toString() は配列に対してオーバーロードされているため、 オブジェクトクラス (メソッド Arrays.toString(Object []) が存在します)。Object はすべてのクラスの祖先であるため、任意のタイプのオブジェクトの配列に対してそれを呼び出すことができます。

ジャワ




// Java program to demonstrate working of Arrays.toString()> // for user defined objects.> import> java.lang.*;> import> java.util.*;> // Driver class> class> Main {> > public> static> void> main(String[] args)> > {> > Student[] arr = {> new> Student(> 111> ,> 'bbbb'> ,> 'london'> ),> > new> Student(> 131> ,> 'aaaa'> ,> 'nyc'> ),> > new> Student(> 121> ,> 'cccc'> ,> 'jaipur'> ) };> > System.out.println(Arrays.toString(arr));> > }> }> // A class to represent a student.> class> Student {> > int> rollno;> > String name, address;> > // Constructor> > public> Student(> int> rollno, String name,> > String address)> > {> > this> .rollno = rollno;> > this> .name = name;> > this> .address = address;> > }> > // Used to print student details in main()> > @Override> > public> String toString()> > {> > return> this> .rollno +> ' '> +> this> .name +> ' '> +> this> .address;> > }> }> // This code is modified by Susobhan Akhuli>

出力

[111 bbbb london, 131 aaaa nyc, 121 cccc jaipur] 

どして Object.toString() 配列では機能しないのですか?
配列に対して toString() メソッドを使用すると、機能しない可能性があります。配列を典型的なオブジェクトとして考慮し、デフォルトの文字列、つまり配列を表す「[」、その後に配列のプリミティブデータ型を表す文字、その後にアイデンティティ 16 進コードが続くものを返します [詳細については、これを参照してください]