将int更改为整数迭代器basic java

将int更改为整数迭代器basic java,java,iterator,iterable,Java,Iterator,Iterable,我正在编写一个实现迭代器的内部类,我试图为我的一个方法返回一个整数,但它不允许我这样做。我知道这是一个非常基本的问题,但我对java还不熟悉,所以我很抱歉它听起来很简单 public class pIterator<Integer> implements Iterator<Integer>{ private int currentEx = 1; private int base = 4; //error says can't convert int to Inte

我正在编写一个实现迭代器的内部类,我试图为我的一个方法返回一个整数,但它不允许我这样做。我知道这是一个非常基本的问题,但我对java还不熟悉,所以我很抱歉它听起来很简单

public class pIterator<Integer> implements Iterator<Integer>{

private int currentEx = 1; 
private int base = 4; 

//error says can't convert int to Integer here specifically 
private Integer changeToInteger = base * currentEx++;  

@Override
public boolean hasNext() {
  return currentEx <= max;  
}

//the problem then occurs here when I try to return an Integer 
@Override
public Integer next() throws NoSuchElementException {
 if (currentEx > max) throw new NoSuchElementException(); 

 return changeToInteger; 
 } 
}
公共类pIterator实现迭代器{
private int currentEx=1;
私有int基=4;
//错误表示此处无法将int转换为整数
私有整数changeToInteger=base*currentEx++;
@凌驾
公共布尔hasNext(){
return currentEx max)抛出新的NoTouchElementException();
返回changeToInteger;
} 
}

currentEx和base必须是int(由指令定义),所以我应该只更改返回类型还是可以转换为整数

通过使用名为Integer的参数将类定义为泛型类,您隐藏了标准的
java.lang.Integer
。它应该被定义为

public class pIterator implements Iterator<Integer> {
公共类pIterator实现迭代器{
否则,您的类就相当于

public class pIterator<T> implements Iterator<T> {
公共类pIterator实现迭代器{

但是如果将
T
错误地命名为
Integer
,则通过将类定义为带有名为Integer的参数的泛型类来隐藏标准
java.lang.Integer
。它应该定义为

public class pIterator implements Iterator<Integer> {
公共类pIterator实现迭代器{
否则,您的类就相当于

public class pIterator<T> implements Iterator<T> {
公共类pIterator实现迭代器{

但是由于
T
被混淆地命名为
Integer

currentEx在我的构造函数中被预定义为int,所以我必须保持这种方式…currentEx在我的构造函数中被预定义为int,所以我必须保持这种方式…你知道currentEx++对增加变量有什么影响吗?everytime next()调用currentEx会增加1吗?不会。为什么会增加?因为这是在类的构造函数中完成的,而不是在next()方法中完成的?为什么不测试它?您知道currentEx++对增加变量有什么影响吗?everytime next()调用currentEx会增加1吗?不会。为什么会增加?因为这是在类的构造函数中完成的,而不是在next()方法中完成的?为什么不测试它?