为了账号安全,请及时绑定邮箱和手机立即绑定

这是使用方法“add”的正确方法吗?

这是使用方法“add”的正确方法吗?

不负相思意 2022-08-03 10:56:31
因此,我的朋友创建了一个队列类,其中包含一个实例变量和他使用的add方法。size = 0;但是,在这种情况下,索引 0 会发生什么情况呢?它不会向它声明元素,因为 add 从 size++ 开始。这是1个起始位置。public void add(T data) {    if(size > elements.length) {        throw new QueueException("Queue is full");    }    elements[size++] = data;}
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

size++返回值在后台递增之前的值。因此,将分配。请参阅有关递增的 Oracle 教程。sizeelements[0]


问题在于最后一个元素。代码将尝试分配高于阵列容量的容量。警卫应该是:elements[elements.length]


if (size >= elements.length) {

  throw new QueueException("Queue is full");

}


查看完整回答
反对 回复 2022-08-03
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信