Arrays.toString() in Java with Examples - GeeksforGeeks

07 Dec, 2018
Today we are going to discuss the simplest way to print the array as a string in Java: Arrays.toString() method.
How to use Arrays.toString() method?
Description:Returns a string representation of the contents of the specified array. The string representation consists of a list of the array’s elements, enclosed in square brackets (“[]”). Adjacent elements are separated by the characters “, ” (a comma followed by a space). Returns “null” if a is null.
In case of an Object Array, if the array contains other arrays as elements, they are converted to strings by the Object.toString() method inherited from Object, which describes their identities rather than their contents.
Variants:
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)
Parameters:arr – the array whose string representation to return
Returns:the string representation of arr
Usage:The below mentioned Java code depicts the usage of the toString() method of Arrays class with examples:
// 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));    }}
Output:
[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]

We can also use Arrays.toString() for objects of user defined class.Since Arrays.toString() is overloaded for array of Object class (there exist a method Arrays.toString(Object [])) and Object is ancestor of all classes, we can use call it for an array of any type of object.
// Java program to demonstrate working of Arrays.toString()// for user defined objects.import java.lang.*;import java.util.*;  // Driver classclass 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;    }}
Output:
[111 bbbb london, 131 aaaa nyc, 121 cccc jaipur]

Why does Object.toString() not work for Arrays?Using the toString() method on Arrays might not work. It considers an array as a typical object and returns default string, i.e., a ‘[‘ representing an array, followed by a character representing the primitive data type of array followed by an Identity Hex Code [See this for details]
This article is contributed by Shikhar Goel. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
KartikaPatil
Java - util package
Java-Arrays
Java-Collections
Java
Java
Java-Collections
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Stream In Java
Interfaces in Java
How to iterate any Map in Java
ArrayList in Java
Initialize an ArrayList in Java
Stack Class in Java
Singleton Class in Java
Multidimensional Arrays in Java