arrays.tostring()能清晰打印一维数组,因数组未重写tostring()故直接println会输出哈希码;它支持所有基本及引用类型一维数组,传二维数组需改用deeptostring()。

直接用 Arrays.toString() 就能清晰、简洁地打印一维数组,避免手动遍历或拼接字符串的麻烦。
为什么不能直接用 System.out.println(array)
Java 中数组是对象,但没重写 toString() 方法。直接打印会输出类似 [I@1b6d3586 这样的哈希码,毫无可读性。
正确用法:传入一维数组即可
该方法专为一维数组设计,支持所有基本类型(int[]、double[] 等)和引用类型(String[]、Object[] 等)。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
int[] arr = {1, 2, 3}; System.out.println(Arrays.toString(arr));→ 输出:[1, 2, 3] -
String[] names = {"Alice", "Bob"}; System.out.println(Arrays.toString(names));→ 输出:[Alice, Bob] -
boolean[] flags = {true, false}; System.out.println(Arrays.toString(flags));→ 输出:[true, false]
注意别传错参数类型
Arrays.toString() 只接受一维数组。如果误传二维数组(如 int[][]),它会把每行当作一个 Object 打印出地址,结果仍是不可读的 [[I@xxx, [I@yyy]。
- 要打印二维数组,改用
Arrays.deepToString() - 传入
null会返回字符串"null",不会抛空指针异常
配合其他工具让输出更友好(可选)
如果想加前缀、换行或格式化,可以组合使用字符串操作:
System.out.println("数据:" + Arrays.toString(arr));System.out.printf("数组内容:%s%n", Arrays.toString(arr));- 调试时快速查看:直接写在日志或断点后,无需额外循环代码
不复杂但容易忽略 —— 记住这个方法,一维数组打印从此清爽又省事。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










