在Java开发中,直接输出数组对象无法得到预期的数组元素内容,而Arrays_toString方法可以高效解决这个问题,它能将数组中的元素拼接成格式清晰的字符串,方便开发者查看数组内容。

Arrays_toString的基本作用
Arrays_toString是java.util.Arrays类中的静态方法,其核心功能是将传入的数组转换为一个包含所有元素的字符串,字符串格式为[元素1, 元素2, ..., 元素n],对于基本类型数组和引用类型数组都适用。
使用前需要先导入Arrays类,导入语句如下:
import java.util.Arrays;
一维数组的打印方式
一维数组的打印非常简单,直接将数组作为参数传入Arrays_toString即可,无论是基本类型数组还是对象类型数组都可以正常处理。
基本类型一维数组打印
以int类型的一维数组为例,代码示例如下:
public class ArrayPrintDemo {
public static void main(String[] args) {
int[] intArray = {1, 2, 3, 4, 5};
// 使用Arrays_toString打印一维int数组
String arrayStr = Arrays.toString(intArray);
System.out.println(arrayStr);
}
}
运行上述代码,输出结果为[1, 2, 3, 4, 5],可以清晰看到数组中的所有元素。
引用类型一维数组打印
如果是String类型的一维数组,打印逻辑和基本一致:
public class ArrayPrintDemo {
public static void main(String[] args) {
String[] strArray = {"Java", "Python", "C++", "Go"};
// 打印String类型一维数组
System.out.println(Arrays.toString(strArray));
}
}
运行后输出结果为[Java, Python, C++, Go],元素之间用逗号分隔,整个数组用方括号包裹。
多维数组的打印方式
对于多维数组,直接使用Arrays_toString无法得到预期的效果,因为多维数组的元素本身是数组对象,直接打印会显示内层数组的哈希值。
错误打印示例
下面是一个直接打印二维数组的错误示例:
public class ArrayPrintDemo {
public static void main(String[] args) {
int[][] twoDArray = {{1, 2}, {3, 4}, {5, 6}};
// 错误方式:直接打印二维数组
System.out.println(Arrays.toString(twoDArray));
}
}
运行上述代码,输出结果类似[[I@1b6d3586, [I@4554617c, [I@74a14482],只能看到内层数组的地址,无法看到具体元素。
正确打印方式
打印多维数组需要使用Arrays.deepToString方法,该方法会递归处理数组中的所有层级,将每一层的元素都转换为字符串:
public class ArrayPrintDemo {
public static void main(String[] args) {
int[][] twoDArray = {{1, 2}, {3, 4}, {5, 6}};
// 使用deepToString打印二维数组
System.out.println(Arrays.deepToString(twoDArray));
// 三维数组打印示例
int[][][] threeDArray = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}};
System.out.println(Arrays.deepToString(threeDArray));
}
}
运行后二维数组的输出为[[1, 2], [3, 4], [5, 6]],三维数组的输出为[[[1, 2], [3, 4]], [[5, 6], [7, 8]]],可以完整展示所有层级的元素。
注意事项
- Arrays_toString只能处理一维数组,多维数组需要使用Arrays.deepToString,否则无法正确显示内层元素。
- 如果数组中包含null元素,Arrays_toString和Arrays.deepToString都会将null直接输出为字符串null,不会抛出异常。
- 当数组长度非常大时,转换后的字符串会很长,调试时可以根据需要截取部分内容查看,避免输出内容过多影响调试效率。
需要注意的是,Arrays_toString和Arrays.deepToString都是用于调试查看数组内容的工具方法,不要将其用于生产环境的字符串拼接场景,避免不必要的性能开销。
Arrays_toString一维数组多维数组Java数组打印数组转字符串修改时间:2026-06-12 09:00:37