尝试编写一个返回Pair的迭代器: 我的PairIterator的一部分
public Pair next() {
this.counter ++;
Pair p = new Pair(this.l.get(counter - 1), this.l.get(counter));
//error occurs here
}
public class Pair<E> {
private E e1;
private E e2;
public Pair(E e1, E e2) {
this.e1 = e1;
this.e2 = e2;
}
public E first() {
return this.e1;
}
public E second() {
return this.e2;
}
}
获得
无法实例化类型对
...虽然Pair不是抽象类/接口。为什么会这样?
答案 0 :(得分:2)
请确保导入正确的类以初始化配对对象。
import org.apache.commons.math3.util.Pair;
具体类->可以直接创建对象。
这给出了一个错误:
import org.apache.commons.lang3.tuple.Pair;
它是一个抽象类,因此您不能直接创建对象。
答案 1 :(得分:0)
尝试实例化org.apache.commons.lang3.tuple.ImmutablePair
(或org.apache.commons.lang3.tuple.MutablePair
);这些类是具体的,因此可以实例化。
答案 2 :(得分:-3)
很可能是因为您没有将通用类型参数添加到配对。