logo

Arrays.toString() v Javě s příklady

Dnes budeme diskutovat o nejjednodušším způsobu tisku pole jako řetězce v Javě: metoda Arrays.toString().

Jak používat metodu Arrays.toString()?



Popis:
Vrátí řetězcovou reprezentaci obsahu zadaného pole. Řetězcová reprezentace se skládá ze seznamu prvků pole, uzavřených v hranatých závorkách ([]). Sousední prvky jsou odděleny znaky , (čárka následovaná mezerou). Vrátí hodnotu null, pokud a je null.

V případě Object Array, pokud pole obsahuje další pole jako prvky, jsou převedena na řetězce metodou Object.toString() zděděnou z Object, která popisuje jejich identity spíše než jejich obsah.

varianty:



  • 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)
  • public static String toString(int[] arr)
  • public static String toString(long[] arr)
  • public static String toString(Object[] arr)
  • public static String toString(short[] arr)

Parametry:
arr – pole, jehož reprezentace řetězce má být vrácena

Vrácení:
řetězcová reprezentace arr

Používání:
Níže uvedený kód Java znázorňuje použití metody toString() třídy Arrays with



regulární výraz v jazyce Java

příklady:

Jáva




// 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));> >}> }>

>

>

porovnat řetězce java
Výstup

[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]>

Můžeme také použít Arrays.toString() pro objekty třídy definované uživatelem.
Protože Arrays.toString() je přetížené polem Třída objektu (existuje metoda Arrays.toString(Object [])) a Object je předkem všech tříd, můžeme ji použít pro volání pro pole libovolného typu objektu.

Jáva




// 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>

Java řetězec ve srovnání
>

>

Výstup

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

Proč ano? Object.toString() nepracuje pro Arrays?
Použití metody toString() na Arrays nemusí fungovat. Považuje pole za typický objekt a vrátí výchozí řetězec, tj. ‚[‘ představující pole, za nímž následuje znak představující primitivní datový typ pole následovaný hexadecimálním kódem identity [Podrobnosti naleznete zde]