Salesforce 列表索引超出范围:1

Salesforce 列表索引超出范围:1,salesforce,Salesforce,我已经创建了一个VF页面,其中有2个按钮1,用于按1添加InputExt 1,第2个按钮用于按1删除InputExt 1。 该过程正在使用凌晨1点的捆进行添加和删除。但到最后一刻,这是一个错误。例如:如果添加了3个输入文本1,2,3 我可以删除3,2,但当我删除1时,它通过是一个错误 列表索引超出范围:1 这是我的密码 公共页面引用取消(){ system.debug('@@@@@@@@@@@@@@@@@@@@@@@eqLstNew Out'+eqLstNew.size()); 整数i=0; i

我已经创建了一个VF页面,其中有2个按钮1,用于按1添加InputExt 1,第2个按钮用于按1删除InputExt 1。 该过程正在使用凌晨1点的捆进行添加和删除。但到最后一刻,这是一个错误。例如:如果添加了3个输入文本1,2,3 我可以删除3,2,但当我删除1时,它通过是一个错误 列表索引超出范围:1

这是我的密码

公共页面引用取消(){

system.debug('@@@@@@@@@@@@@@@@@@@@@@@eqLstNew Out'+eqLstNew.size());
整数i=0;

if(i在
if
末尾调用
i++

public PageReference cancel() {
system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew Out ' + eqLstNew.size());
integer i =0;
  if( i<eqLstNew.size()){
    system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew 1st ' + eqLstNew.size());
    system.debug('@@@@@@@@@@@@@@@@@@@ i size ' + i);
    eqLstNew.remove(i);
    i++;
  }
  return null;
}

列表中的第一个元素位于索引0处,而不是索引1处。如果有多个元素,则此操作有效,因为在执行列表时实际上正在删除列表中的第二个元素。删除(1)。您应该执行列表。删除(0)如果你想删除第一个元素,请改为删除。

我不知道为什么我会把它弄得这么复杂。但是不管怎样,它都能工作,谢谢你的回答。等等,以前没有循环吗?或者我刚才读过“如果(我
public PageReference cancel() {
system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew Out ' + eqLstNew.size());
integer i =0;
  if( i<eqLstNew.size()){
    system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew 1st ' + eqLstNew.size());
    system.debug('@@@@@@@@@@@@@@@@@@@ i size ' + i);
    eqLstNew.remove(i);
    i++;
  }
  return null;
}
public PageReference cancel() {
  if(eqLstNew.size() > 0){
    eqLstNew.remove(0);
  }
  return null;
}