arrays.tostring()可美观打印一维数组,格式为[e1, e2, e3];多维数组须用arrays.deeptostring()递归展开;仅适用于数组,非数组对象会编译报错。

直接用 Arrays.toString() 就能美观打印一维数组,它会自动加上方括号、逗号分隔和空格,比手动拼接清晰得多。
一维数组:直接调用最简单
对 int[]、String[]、double[] 等基本类型或引用类型的一维数组,传入 Arrays.toString(arr) 即可:
- 输出格式统一为
[e1, e2, e3],元素间有空格,末尾无逗号 - 字符串元素会自动加英文双引号,如
["a", "b", "c"] -
null元素显示为null,整个数组为null时返回字符串"null"
多维数组:要用 deepToString
Arrays.toString() 对二维及以上数组只打印子数组的 toString() 结果(通常是哈希值),看起来像 [[I@1b6d3586, [I@4554617c]。此时必须改用:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
Arrays.deepToString(arr)—— 递归展开每一层,生成嵌套结构,例如[[1, 2], [3, 4]] - 支持任意维度,包括
Object[][][],内部仍调用各元素的toString()
配合 System.out.println 使用更自然
通常和打印语句一起用,不需要额外格式化:
System.out.println(Arrays.toString(myArray));- 想加前缀?直接字符串拼接:
System.out.println("结果: " + Arrays.toString(data)); - 日志中也适用:
log.info("数组内容: {}", Arrays.toString(arr));(SLF4J)
注意:不能用于非数组对象
Arrays.toString() 参数必须是数组类型,传入普通对象(如 List、Set 或自定义类)会编译报错。
- 要打印
List,直接用list.toString()(已重写,效果类似) - 要打印自定义对象数组且需控制格式,可配合
Stream和map自定义输出
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










