4

我需要帮助弄清楚如何实现通用的 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对象返回类型替换 GENERICs 吗?我已经看到了具有通用返回值的其他方法的示例,但我无法理解如何在此处应用它。谢谢!

4

2 回答 2

4

从改变

public GENERIC getX() {
  return X;
}

public X getX() {
  return first;
}

extends是 a ,第type constraint一次遇到 typename 时需要。该类型的名称持有者是它的名称

于 2013-02-28T23:39:07.227 回答
1

您已经定义XY拥有您的泛型类型。您只需在方法签名中指定它们。然后像往常一样返回您的实例变量。您还需要一些东西来初始化您的Pair,例如构造函数(尽管 setter 方法也可以工作):

public Pair(X x, Y y)
{
   first = x;
   second = y;
}

public X getX() {
    return first;
}

public Y getY() {
    return second;
}
于 2013-02-28T23:39:47.423 回答