java.util.NoSuchElementException をスローできない Iterator.next() の実装を報告します。

このような実装は java.util.Iterator の契約に違反しており、イテレーターが非標準的な方法で使用されている場合にバグの検出が困難になります。

例:


  class Numbers implements Iterator<Integer> {
    @Override
    public Integer next() { //警告
        if (hasNext()) {
            return generateNext();
        } else {
            return null; //代わりに NoSuchElementException をスローします
        }
    }

    ...
  }