我需要帮助搞清楚如何实现通用的getter方法。这是我到目前为止的代码:
public class Pair<X extends Comparable<X>, Y extends Comparable<Y>>
implements Comparable<Pair<X, Y>>{
private final X first;
private final Y second;
public GENERIC getX() {
return X;
}
public GENERIC getY() {
return Y;
}
有人可以向我解释如何用这种类的某种<A extends classA> A
对象返回类型替换GENERIC吗?我已经看到了其他具有泛型返回值的方法的示例,但我无法理解如何在此处应用它。谢谢!
答案 0 :(得分:4)
从
改变public GENERIC getX() {
return X;
}
到
public X getX() {
return first;
}
extends
是type constraint
,在首次遇到typename时需要。该类型的名称是其名称
答案 1 :(得分:1)
您已定义X
,Y
具有您的通用类型。您只需在方法签名中指定它们即可。然后像往常一样返回实例变量。你还需要一些东西来初始化你的Pair
,比如构造函数(尽管setter方法也可以):
public Pair(X x, Y y)
{
first = x;
second = y;
}
public X getX() {
return first;
}
public Y getY() {
return second;
}