java 调试器在调试集合时调用了哪些方法?

Which methods are called by java debugger when debugging collections?

最近我遇到了一个问题,当调试我的双端队列实现时,大小被正确返回,主要是因为很明显调用 size() 来确定它,而它的最后一项返回为空,即使它不是空的。怎么来的?调试器调用哪个函数来确定元素的值?

注意:以下测试确实通过且没有抛出异常。

Deque implementation

JUnit tests

java 调试器调用的方法是 size() 以确定数据结构的大小,而调用 toArray() 以确定结构的内容。

顺便说一下,错误出现在第 365 行,我没有将索引与大小进行比较,而是将数组的大小 (index+1) 与其容量进行了比较。