Arrays.toString()是打印一维数组最直接有效的方法,它自动将元素转字符串、逗号分隔、加方括号,支持所有基本类型和对象数组,处理null安全,需导入java.util.Arrays。

直接用 System.out.println(arr) 只会输出类似 [I@1b6d3586 的哈希码,根本看不到元素。真正想快速、安全、清晰地打印一维数组,Arrays.toString() 是最直接有效的办法。
一维数组就用 Arrays.toString()
它专为一维数组设计,自动完成三件事:把每个元素转成字符串、用逗号分隔、套上方括号,格式统一又可读。
- 支持所有基本类型数组(
int[]、double[]、boolean[]等)和对象数组(String[]、Character[]等) - 遇到
null元素不报错,直接显示为null字符串 - 传入
null数组时返回字面量"null",不会触发NullPointerException - 无需手动拼接、不用判断边界、不修改原数组,线程安全
别忘了 import java.util.Arrays
这是编译通过的前提。没这句,IDE 或命令行都会报错“找不到符号”。建议养成习惯:写完数组声明后,立刻补上这一行导入语句。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 示例代码开头必须有:
import java.util.Arrays; - 常见错误是只写了方法名却漏掉导入,尤其在命令行编译时容易卡住
典型用法示例
一行代码搞定,不需要额外逻辑:
立即学习“Java免费学习笔记(深入)”;
-
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]
多维数组不能混用
Arrays.toString() 只处理最外层。对二维或更高维数组调用它,结果仍是“地址式”乱码,比如 [[I@xxx —— 这不是 bug,是它的设计限制。
- 二维及以上数组请改用
Arrays.deepToString() - 误用会导致调试时误判数据结构,尤其在日志中看到一堆哈希值容易困惑
- 记住口诀:一维用
toString(),多维用deepToString()


















