You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java二维数组初始化填充后出现额外null实例的问题求助

问题分析与解决

你的填充代码本身是正确的:

Object[][] twoDarray = new Object[3][5];
for (int x = 0; x < twoDarray.length; x++) { 
    for (int y = 0; y < twoDarray[x].length; y++) { 
        twoDarray[x][y] = new Object();
    }
}

这段代码确实会遍历3×5=15个数组元素,每个位置都被赋值为新的Object实例,填充完成后数组中不存在null值。

你看到的15个对象+15个null、以及打印twoDarray[0][4]时出现对象+null的现象,问题出在你的打印代码上,而非数组填充逻辑:

  • 出现对象+null的重复输出,大概率是你在打印时执行了两次输出操作,比如:

    // 错误示例:额外打印了null
    System.out.println(twoDarray[0][4]);
    System.out.println(null);
    

    或者在遍历打印的循环中,不小心写了两次System.out.println语句。

  • 看到15个对象+15个null,可能是你错误地遍历了两次数组,或者同时打印了数组引用和元素(比如直接打印twoDarray本身,再遍历打印元素)。

验证方法

用以下正确的打印代码测试:

// 遍历打印所有元素
for (int x = 0; x < twoDarray.length; x++) {
    for (int y = 0; y < twoDarray[x].length; y++) {
        System.out.println(twoDarray[x][y]);
    }
}

// 单独打印指定元素
System.out.println(twoDarray[0][4]);

这段代码只会输出15行java.lang.Object@xxxxxx格式的字符串(每个Object实例的默认toString结果),不会出现null。

内容的提问来源于stack exchange,提问作者pythonoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:46:07