Java Arrays deepToString()

In this guide, you will learn about the Arrays deepToString() method in Java programming and how to use it with an example.

1. Arrays deepToString() Method Overview


The Arrays.deepToString() method returns a string representation of the "deep contents" of the specified array. It's useful for arrays that contain other arrays as their elements.


String deepToString(Object[] a)


- a: The array whose deep-content representation is to be returned.

Key Points:

- It can handle arrays that contain other arrays to multiple levels of depth.

- If an element is an array of a primitive type, it gets converted directly to a string.

- If an element is an array of objects, it uses deepToString() recursively.

- It returns "null" if the array is null.

- Throws ArrayStoreException if any array contains itself.

2. Arrays deepToString() Method Example

import java.util.Arrays;

public class DeepToStringExample {
    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}

        String[] names = {"Alice", "Bob", "Charlie"};
        Object[] mixedArray = {matrix, names, "Hello, World!"};

        System.out.println("Matrix deep string representation: " + Arrays.deepToString(matrix));
        System.out.println("Mixed array deep string representation: " + Arrays.deepToString(mixedArray));


Matrix deep string representation: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Mixed array deep string representation: [[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [Alice, Bob, Charlie], Hello, World!]


The Arrays.deepToString() method is used to get a string representation of the deep contents of an array. In the example, we first convert a 2D integer array (matrix) to its string representation. Then, we create a mixed array containing the matrix, a string array, and a plain string. By using deepToString(), we can easily print nested arrays in a clear and formatted manner.