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

Java代码向ArrayList添加Square对象不生效,无报错且列表长度始终为0

问题根因

Platform类构造方法存在参数赋值错误:
构造方法接收的入参名称为numOfColumns、numOfRows,但给成员变量赋值时,错误地将未初始化的成员变量numberOfColumns、numberOfRows自身赋值给成员变量。int类型成员变量的默认值为0,因此numberOfColumns最终值为0,createColumn方法中的for循环判断条件column < this.numberOfColumns永远不成立,不会执行添加Square对象的逻辑,最终ArrayList大小始终为0。

修复方案

修改Platform类构造方法的赋值逻辑,将参数值正确赋值给成员变量即可:

public Platform(int numOfColumns,int numOfRows)
{
    this.squaresInPlatform = new ArrayList<Square>();
    // 修改为使用入参赋值
    this.numberOfColumns = numOfColumns;
    this.numberOfRows = numOfRows;
    this.posX = 50;
    this.posY = 60;
}

修改后创建Platform实例时传入的列数参数会正确生效,for循环可正常执行,Square对象会被正确添加到squaresInPlatform列表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:15:05