在开发Android应用程序时,我遇到了非空Java ArrayList中没有元素且索引为零的情况。出现问题的原因与以下事实有关:当列表非空时,我有时会使用 list.remove(0)方法删除零索引项。然而,删除方法的规范说它“将任何后续元素向左移位(从索引中减去一个)”。所以当我得到一个没有零元素的非空列表(第一个元素有索引1)时,我无法理解情况的原因(有时会发生)。通过在 list.get(0)上获取NullPointerException并在Android Studio Debugger中查看ArrayList内容,我看不到零元素。
Debugging screenshot - ArrayList's shapshot with no zero item in Android Studio
答案 0 :(得分:0)
非空列表has always index 0中的第一个元素。如文件所述:
列表(如Java数组)基于零
您在调试屏幕截图中看到的只是一种可视化列表中元素的方法。什么叫做1不是指数,而是位置。所以1留在第一个元素。