Arrays.toString() 是打印 Java 一维数组最简洁安全的方式,自动处理 null、类型转换与格式化;直接 System.out.println(arr) 仅输出哈希码,无法显示元素。

直接调用 Arrays.toString() 是打印 Java 一维数组最简洁、最安全的方式,它自动处理 null 元素、类型转换和格式化,避免手动拼接出错或抛出 NullPointerException。
为什么不用 System.out.println(arr)?
对一维数组直接使用 System.out.println(arr) 只会输出类似 [I@1b6d3586 的哈希码字符串,这是数组对象的默认 toString() 表现,无法看到实际元素。
正确用法:一行搞定
只需导入 java.util.Arrays,然后传入数组即可:
- int[] nums = {1, 2, 3};
System.out.println(Arrays.toString(nums));
// 输出:[1, 2, 3] - String[] words = {"hello", "world"};
System.out.println(Arrays.toString(words));
// 输出:[hello, world] - Character[] chars = {'a', 'b', null};
System.out.println(Arrays.toString(chars));
// 输出:[a, b, null](自动处理 null)
注意事项
- 仅适用于一维数组;多维数组需用
Arrays.deepToString(),否则仍会打印哈希码 - 数组为
null时,Arrays.toString(null)返回字符串"null",不会抛异常 - 不修改原数组,纯读取操作,线程安全
替代方案对比
手动遍历 + StringBuilder 或 for-each 循环虽可行,但易出错(如逗号位置、空数组边界)、代码冗长,且需额外处理 null 和类型转换。而 Arrays.toString() 是 JDK 内置优化实现,可靠又高效。
立即学习“Java免费学习笔记(深入)”;



















