arrays.tostring() 能安全、统一地打印一维数组,自动处理空数组、null 元素、类型差异等边界情况,避免手动遍历的格式错误和异常;但不支持多维数组,后者需用 arrays.deeptostring()。

直接调用 Arrays.toString() 就能清晰、安全、格式统一地打印一维数组,避免手动拼接或越界异常。
为什么不用 for 循环手动拼接?
手动遍历打印容易出错:忘记逗号分隔、多加空格、漏掉边界判断,尤其空数组时容易抛 NullPointerException 或输出不一致。而 Arrays.toString() 内部已处理所有边界情况——空数组返回 [],null 元素显示为 null,字符串自动加引号,数字按默认格式转字符串。
基本用法:一行搞定
传入任意一维数组(原始类型或引用类型),方法返回标准格式字符串:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
-
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] -
Integer[] nums = {null, 10}; System.out.println(Arrays.toString(nums));→ 输出:[null, 10]
注意原始类型与包装类的区别
原始类型数组(如 int[]、double[])和包装类数组(如 Integer[]、Double[])都支持 toString(),但行为一致——不会自动拆箱或装箱。特别注意:Arrays.toString(new int[]{}) 返回 [],不是 null;而 Arrays.toString(null) 会抛 NullPointerException,需提前判空。
配合日志或调试的实用写法
在开发中常结合日志框架或调试语句使用,提升可读性:
logger.debug("配置项: {}", Arrays.toString(configArray));System.out.printf("输入参数 %s%n", Arrays.toString(args));- 若需自定义前缀/后缀,可直接字符串拼接:
"data=" + Arrays.toString(data),无需额外格式化逻辑
Arrays.deepToString()。Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










