我收到错误“Iterator无法解析为某种类型”。我正在尝试使用存储类并添加实现java的Collections类所需的代码。 我不认为我被允许导入Iterator,我想我需要自己创建。
public class storage {
private Object[] data = new Object[256];
// Don't allow access to anything not yet stored
private int nextEmptySlot = 0;
private int i=0;
public Object begin(){
return data[0];
}
public Object end(){
return data[nextEmptySlot];
}
//class Iterator() {
// public Storage data;
//}
public Iterator iterator() {
// returns a class that iterates over the data array
return new Iterator() {
public Object remove(){
for(int j=i+1 ; j<=nextEmptySlot-1 ; j++) {
this.data[j-1] = this.data[j];
}
return (this.data.data[i]);
}
public int hasNext(){
if(this.data.data[i+1] != null) return 1;
else return 0;
}
public Object next(){
i++;
if (hasNext()==1){
return this.data.data[i];
}
else if (hasNext()==0){
throw UnsupportedOperationException();
}
return this;
}
};
}
}
答案 0 :(得分:4)
您需要import java.util.Iterator;
答案 1 :(得分:1)
这段代码甚至没错;看看Iterator方法:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html
您的Iterator没有实现java.util.Iterator接口;使用相同的名称不能使它成为一个。
看看你的方法:
public int hasNext()
java.util.Iterator hasNext()
返回一个布尔值。
这是完全错误的。