Arrays.deepToString()

Arrays 类的 deepToString() 方法返回指定 Object 数组的深层内容的字符串表示形式。与数组不同,toString(),如果数组包含其他数组作为元素,则字符串表示形式包括其内容,依此类推。

Arrays.toString():返回指定数组内容的字符串表示形式。字符串表示形式由数组元素的列表组成,括在方括号 ([]) 中。相邻元素由字符 ""(逗号后跟空格)分隔。如果 a 为空,则返回"null"

对于对象数组,如果数组包含其他数组作为元素,则通过从 Object 继承的 Object.toString() 方法将它们转换为字符串,该方法描述它们的标识而不是它们的内容。

  • 参数:要返回其字符串表示形式的数组。
  • 返回:数组的字符串表示形式。

Arrays.deepToString()

java.util.Arrays.deepToString(Object[]) 方法是一个 java.util.Arrays 类方法。返回指定数组的“深层内容”的字符串表示形式。如果数组包含其他数组作为元素,则字符串表示形式包含其内容,依此类推。此方法旨在将多维数组转换为字符串。简单的 toString() 方法适用于简单数组,但不适用于多维数组。此方法旨在将多维数组转换为字符串。

语法:

public static String deepToString(Object[] arr)

Java 中 Arrays.toString() 和 Arrays.toDeepString() 之间的区别

Arrays.toString() Arrays.deepToString()
在 java 中使用 Arrays.toString() 来获取对象的字符串表示 使用 Arrays.deepToString() 方法来获取特定数组的深层内容的字符串表示。
广泛使用 Arrays.toString() 来返回单维数组的 String() 表示。 可以使用 Arrays.deepToString() 方法来返回单维和多维数组的字符串表示。
如果数组包含其他数组作为元素,则字符串表示形式不包含其内容,依此类推。 如果数组包含其他数组作为元素,则字符串表示形式包含其内容,依此类推。
不使用 Arrays.toString() 方法来返回多维数组的字符串表示。 可以使用 Arrays.deepToString() 方法来返回多维数组的字符串表示。
Arrays.toString() 在原语数组上工作。 Arrays.deepToString() 不适用于原语。

下面是 Arrays.toString()Arrays.deepToString() 的示例:

示例1. 整数的单维数组。

// Java program to show the usage of
// Arrays.toString() and Arrays.deepToString()

import java.io.*;
import java.util.*;

class YiibaiDemo {
    public static void main(String[] args)
    {
        Integer[] a = { 1, 2, 3, 4, 5 };
        System.out.println("Using Arrays.toString(): " + Arrays.toString(a));

        System.out.println("Using Arrays.deepToString(): " + Arrays.deepToString(a));
    }
}

运行结果:

Using Arrays.toString(): [1, 2, 3, 4, 5]
Using Arrays.deepToString(): [1, 2, 3, 4, 5]

示例2. 一维 Primitive(int) 数组,其中只有 Arrays.toString() 工作。

// Java program to show the usage of
// Arrays.toString() and Arrays.deepToString()

import java.io.*;
import java.util.*;

class YiibaiDemo {
    public static void main(String[] args)
    {

        int[] a = { 1, 2, 3, 4, 5 };
        System.out.println("Using Arrays.toString(): "+ Arrays.toString(a));
    }
}

运行结果:

Using Arrays.toString(): [1, 2, 3, 4, 5]

示例3. 多维数组:

// Java program to show the usage of
// Arrays.toString() and Arrays.deepToString()

import java.io.*;
import java.util.*;

class YiibaiDemo {
    public static void main(String[] args)
    {
        Integer[] a1 = { 1, 2, 3, 4, 5 };
        Integer[] a2 = { 6, 7, 8, 9, 10 };
        Integer[][] multi = { a1, a2 };

        System.out.println("Using Arrays.toString(): " + Arrays.toString(multi));

        System.out.println("Using Arrays.deepToString(): " + Arrays.deepToString(multi));
    }
}

运行结果:

Using Arrays.toString(): [[Ljava.lang.Integer;@3d075dc0, [Ljava.lang.Integer;@214c265e]
Using Arrays.deepToString(): [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]