一维数组:优先使用 Arrays.toString()
直接 System.out.println(array) 不是打印元素列表,而是输出数组对象的默认表示。日志调试中要看元素,应明确格式化。
import java.util.Arrays;
class Demo {
public static void main(String[] args) {
int[] nums = {3, 8, 1};
int[][] matrix = {{1, 2}, {3, 4}};
System.out.println(Arrays.toString(nums));
System.out.println(Arrays.deepToString(matrix));
}
}
多维数组与复杂对象
二维及不规则嵌套数组可用 Arrays.deepToString();只有第一层的 Arrays.toString() 往往不能显示内部各子数组。包含自定义对象时,输出质量取决于对象的 toString(),不要在生产日志中意外打印密码、令牌和个人数据。
如何选择输出方式
临时调试直接使用 Arrays 工具类;面向用户的长列表推荐流式分页或结构化序列化。性能比较需要固定数组规模、JVM 预热与一致的输出目标,不能因代码更短就推断更快。
Java 数组输出的三种不同语义
import java.util.Arrays;
int[] values = {1, 2, 3};
int[][] matrix = {{1, 2}, {3, 4}};
System.out.println(Arrays.toString(values));
System.out.println(Arrays.deepToString(matrix));
System.out.println(matrix); // 不是二维数组的可读内容
Arrays.toString() 适合一维原始类型或对象数组;多维对象数组通常要用 deepToString()。对于超大数组,直接全量日志打印容易造成磁盘、CPU 与敏感信息泄露问题:应限制采样行数、掩码隐私字段,或者输出统计摘要。Arrays.toString(char[]) 等也应在含密钥时谨慎使用。
相关教程与进一步检查
若需要继续处理实际环境中的关联问题,可阅读Java Math.max 用法;Java Web 请求处理可帮助补充不同的选型或验收视角。两者属于独立问题,按当前环境自行核对适用版本。



