컴파일 나는 다음과 같은 인터페이스를 가지고 : 의 Iterable 및 반복자는 - 오류
public interface DataSet<T> extends Iterable<T> {
public int nExamples();
public T getExample(int index);
public Iterator<T> iterator();
}
다음이 인터페이스를 구현하는 클래스 :
public class StringTupleDataset implements DataSet<StringTuple> {
Vector<StringTuple> examples;
public StringTupleDataset(Vector<StringTuple> examples) {
if(examples == null)
throw new IllegalArgumentException("null parameter: examples");
this.examples = examples;
} // constructor
@Override
public int nExamples() {
return examples.size();
} // nExamples
@Override
public StringTuple getExample(int index) {
return examples.get(index);
} // getExample
@Override
public Iterator<StringTuple> iterator() {
return examples.iterator();
} // getAllExamples
} // class
클래스 StringTupleDataset
는 문제없이 컴파일합니다. 나는 시도하고 다른 클래스에이 코드 조각을 쓸 때
그러나 : 나를 도울 수있는 사람이
Can only interate over an array or an instance of java.lang.Iterable
있습니까 :
public abstract class AbstractOntologyFiller<T> {
private AbstractOntologyFiller() {}
public static <T> void fill(OntologyManager ontoManager, DataSet<T> dataset) {
for(T e : dataset.iterator()) {
// do something
} // for
} // fill
} // class
을 나는 컴파일 오류 말하는가?