Arrays.toString()是Java中用于将一维数组转为易读字符串的最简方法,支持基本类型和对象数组,自动调用元素toString(),null显示为字面量;不支持多维数组,二维需用Arrays.deepToString()。

Arrays.toString() 是 Java 中最简单、最常用的数组转字符串方法,它能快速把一维数组变成易读的字符串形式,比如 [1, 2, 3] 或 [a, b, c],无需手动拼接或循环。
适用于一维基本类型和对象数组
该方法对 int、double、String、自定义对象等一维数组都有效。底层会自动调用每个元素的 toString() 方法(对 null 元素显示为 null)。
-
注意:只支持一维数组;对二维数组(如
int[][])会输出类似[[I@1b6d3586, [I@4554617c]的哈希值,不直观 - 基本类型数组(
int[]、char[]等)可直接使用,无需额外处理 - 对象数组中若含 null,结果中对应位置显示为字面量
null,不会抛异常
正确调用方式与常见写法
必须通过 java.util.Arrays 类调用,不能直接在数组实例上调用(数组没有 toString() 静态方法)。
- 标准写法:
System.out.println(Arrays.toString(arr)); - 需先 import:
import java.util.Arrays;(IDE 通常自动补全) - 如果只是临时调试,也可写成完整类名:
System.out.println(java.util.Arrays.toString(arr));
二维/多维数组怎么办?
Arrays.toString() 不递归展开嵌套结构。要清晰打印二维数组,应改用 Arrays.deepToString()。
-
Arrays.deepToString(new int[][]{{1,2},{3,4}})→[[1, 2], [3, 4]] - 它对每一层子数组也递归调用
toString(),适合嵌套结构调试 - 同样支持 null 元素和混合类型,行为一致、安全可靠
不想依赖 Arrays?简单替代方案
如果项目限制使用工具类,或想定制格式(如去掉空格、换分隔符),可用增强 for 循环 + StringBuilder 手动拼接。
- 示例:拼成
1-2-3格式 ——String.join("-", Arrays.stream(arr).mapToObj(String::valueOf).toArray(String[]::new)) - 更轻量写法(适合小数组):
String.format("[%s]", String.join(", ", strArr)) - 但注意:这些方式对基本类型数组需先转包装类型或字符串数组,不如
Arrays.toString()直接

















