使用Arrays.toString()可将一维数组转为[元素]格式的字符串,适用于基本和引用类型数组;打印多维数组需用Arrays.deepToString()以递归显示嵌套结构,避免内存地址输出。

在Java中,直接打印数组变量只会输出内存地址,无法查看实际内容。想要清晰地看到数组中的元素,可以使用 Arrays.toString() 方法。这个方法能将一维数组转换为可读的字符串格式,方便调试和输出。
Arrays.toString 基本用法
该方法位于 java.util.Arrays 类中,用于将数组内容转为标准字符串形式,格式为 [元素1, 元素2, ..., 元素N]。
适用于基本数据类型数组(如 int[]、double[]、boolean[])和引用类型数组(如 String[])。
示例代码:
import java.util.Arrays;
public class ArrayPrintExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 3, 4, 5]
String[] names = {"Alice", "Bob", "Charlie"};
System.out.println(Arrays.toString(names)); // 输出: [Alice, Bob, Charlie]
}
}
处理多维数组:使用 Arrays.deepToString
对于二维或更高维的数组,Arrays.toString() 无法正确展开嵌套结构,会显示内部数组的哈希值。此时应使用 Arrays.deepToString()。
立即学习“Java免费学习笔记(深入)”;
deepToString 能递归遍历每一层,完整展示多维数组内容。
示例代码:
int[][] matrix = {{1, 2}, {3, 4}, {5, 6}};
System.out.println(Arrays.toString(matrix)); // 错误:输出类似 [[I@xxx, [I@xxx, [I@xxx]
System.out.println(Arrays.deepToString(matrix)); // 正确:输出 [[1, 2], [3, 4], [5, 6]]
常见应用场景与技巧
Arrays.toString() 常用于快速调试、日志输出或单元测试中验证数组内容。
- 在 System.out.println 中直接调用,避免手动遍历拼接字符串
- 与集合结合使用时,可先用 toArray() 转换再打印
- 注意 null 值处理:传入 null 数组会返回字符串 "null",不会报错
- 自定义对象数组需重写 toString() 方法,否则只打印对象地址
基本上就这些。掌握 toString 和 deepToString 的区别与使用场景,能大幅提升开发效率,让数组输出变得简单直观。











