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

因此,我的朋友创建了一个队列类,其中包含一个实例变量和他使用的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;

}


不负相思意
浏览 100回答 1
1回答

温温酱

size++返回值在后台递增之前的值。因此,将分配。请参阅有关递增的 Oracle 教程。sizeelements[0]问题在于最后一个元素。代码将尝试分配高于阵列容量的容量。警卫应该是:elements[elements.length]if (size >= elements.length) {  throw new QueueException("Queue is full");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java