Iterable是通用接口。 您可能遇到的问题(实际上并没有说出您遇到的问题,如果有的话)是,如果您使用通用接口/类而不指定类型实参,则可以擦除不相关的通用类型 在课堂上。 在非通用引用非通用返回类型中的通用类结果中就是一个例子。
因此,我至少将其更改为:
public class ProfileCollection implements Iterable {
private ArrayList m_Profiles;
public Iterator iterator() {
Iterator iprof = m_Profiles.iterator();
return iprof;
}
...
public Profile GetActiveProfile() {
return (Profile)m_Profiles.get(m_ActiveProfile);
}
}
这应该工作:
for (Profile profile : m_PC) {
// do stuff
}
在Iterable上没有type参数的情况下,迭代器可以简化为Object类型,因此只有这样才能起作用:
for (Object profile : m_PC) {
// do stuff
}
这是Java泛型的一个晦涩难解的案例。
如果没有,请提供有关正在发生的事情的更多信息。
最后
以上就是悦耳电源最近收集整理的关于java中iterable_java-如何实现Iterable接口?的全部内容,更多相关java中iterable_java-如何实现Iterable接口内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复