通用的getter方法

时间:2013-02-28 23:36:43

标签: java generics methods return

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

2 个答案:

答案 0 :(得分:4)

改变
public GENERIC getX() {
  return X;
}

public X getX() {
  return first;
}

extendstype constraint,在首次遇到typename时需要。该类型的名称是其名称

答案 1 :(得分:1)

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

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

public X getX() {
    return first;
}

public Y getY() {
    return second;
}