IndexOutOfBoundException在队列中添加时

问题描述:

private void removeQueue(Queue queue) 
    { 
     queue.setTodoDeleted(false); 
     if (queueIndex != -1) { 
      this.queueList.add(queueIndex , queue); 
      mItemManger.closeAllItems(); 
     } 
    } 

其中queueList是ArrayList的queue ArrayList queuelistIndexOutOfBoundException在队列中添加时

问题:索引为2和列表大小为1,同时加入在queueList所以,IndexOutOfBoundException抛出在线路
this.queueList.add(queueIndex , queue)

避免这种情况的最佳方法是什么?在先进的感谢

+0

'queueIndex'来自哪里?它应该遵循'队列'大小... – AxelH

+0

索引是2并且列表大小是1,您正试图获取不存在的元素 – Venkat

为了避免IndexOutOfBounds问题,检查实际大小和索引,你会在执行操作前使用。

if (queueList.size()>queueIndex) 
{ 
    this.queueList.add(queueIndex , queue); 
} 
// Add else part if needed 
+0

谢谢,venkat使用它的工作不会引发异常。 – Swift

+1

@Swift你应该试图找到**为什么** queueIndex比实际大小更大。 – AxelH