Astăzi vom discuta despre cel mai simplu mod de a imprima matricea ca șir în Java: metoda Arrays.toString().
Cum se utilizează metoda Arrays.toString()?
Descriere:
Returnează o reprezentare șir a conținutului matricei specificate. Reprezentarea șir constă dintr-o listă a elementelor matricei, cuprinse între paranteze drepte ([]). Elementele adiacente sunt separate prin caractere , (o virgulă urmată de un spațiu). Returnează null dacă a este nul.
În cazul unui Object Array, dacă matricea conține alte matrice ca elemente, acestea sunt convertite în șiruri de caractere prin metoda Object.toString() moștenită de la Object, care descrie mai degrabă identitățile lor decât conținutul lor.
Variante:
- 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)
Parametri:
arr – tabloul a cărui șir de reprezentare trebuie returnată
Se intoarce:
reprezentarea în șir a lui arr
Utilizare:
Codul Java menționat mai jos descrie utilizarea metodei toString() a clasei Arrays cu
iterator java pentru hartă
exemple:
Java
// 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));> >}> }> |
>
>Ieșire
[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]>
De asemenea, putem folosi Arrays.toString() pentru obiectele clasei definite de utilizator.
Deoarece Arrays.toString() este supraîncărcat pentru matricea de Clasa de obiecte (există o metodă Arrays.toString(Object [])) și Object este strămoșul tuturor claselor, îl putem folosi call pentru o matrice de orice tip de obiect.
Java
java indexof
// 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> |
>
>
sfoară prea lungăIeșire
[111 bbbb london, 131 aaaa nyc, 121 cccc jaipur]>
De ce Object.toString() nu funcționează pentru Arrays?
Utilizarea metodei toString() pe Arrays ar putea să nu funcționeze. Consideră o matrice ca un obiect tipic și returnează șirul implicit, adică un „[“ reprezentând o matrice, urmat de un caracter care reprezintă tipul de date primitiv al matricei, urmat de un cod hexadecimal de identitate [Vezi aceasta pentru detalii]