gpt4 book ai didi

java - 为什么这个迭代器在 foreach 循环中不起作用?

转载 作者:行者123 更新时间:2023-12-01 18:29:29 24 4
gpt4 key购买 nike

我正在尝试创建自己的迭代器并在 foreach 循环中使用它。但出现错误,无法将对象从对象转换为整数。此代码的目的是为了理解迭代器接口(interface)。

package com.java.collections;

import java.util.Iterator;

public class Counter implements Iterable {

int count;

Counter(int count){
this.count = count;
}

@Override
public Iterator iterator() {
// TODO Auto-generated method stub
return new Iterator<Integer>() {
private int i = 0;
@Override
public boolean hasNext() {
// TODO Auto-generated method stub

return i < count;
}

@Override
public Integer next() {
// TODO Auto-generated method stub
i++;
return i;
}

@Override
public void remove() {
// TODO Auto-generated method stub

}
};

}
}

package com.java.collections;

public class TestCounter {

public static void main(String[] args) {
new TestCounter().test();
}

void test() {
for(Integer i : new Counter(5))
{

}
}
}

最佳答案

您必须使用可迭代的泛型类型(在您的情况下为Integer)

public class Counter implements Iterable<Integer> {
...
}

关于java - 为什么这个迭代器在 foreach 循环中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24924689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com