我正在使用Java。
我正在尝试下面的代码

public Proxy getNextElement() {

  Iterator<Element> itr = elementsToUse.iterator();
  if (proxiesToUse != null ){

      while (itr.hasNext()) {
        elementToReturn = itr.next();
        if(usedElements.contains(elementToReturn)==false){
           usedElements.add(elementToReturn);
           break;
        }
      }
     return elementToReturn;
   }else{
     Proxy nextElementToReturn = getNextProxy();
     return nextElementToReturn;
   }
}


现在我想在itr.hasNext()为false时引发异常,但是我遇到的问题是由于while循环,当itr.hasNext()为false时,最后设置为elementToReturn的值保持原样,并且按原样返回,但是当elementsToUse列表中没有更多元素时,我想返回null。

最佳答案

如果在将elementToReturn设置为null之前没有条件要检查,则可以在while循环之后直接将elementToReturn设置为false。

public Proxy getNextElement() {
    Iterator<Element> itr = elementsToUse.iterator();
    if (proxiesToUse != null ){
        while (itr.hasNext()) {
            elementToReturn = itr.next();
            if(usedElements.contains(elementToReturn)==false){
               usedElements.add(elementToReturn);
               break;
            }
        }
     elementToReturn = null;
     return elementToReturn;
    }else{
        Proxy nextElementToReturn = getNextProxy();
        return nextElementToReturn;
  }
}

关于java - Arraylist耗尽时如何将值设置为null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4614189/

10-13 09:08