如何创建具有更多限制类型的泛型类的子类?

时间:2011-07-28 08:17:03

标签: java generics

这个类旨在表示一对任意类型的对象 - python dev可能会认为它是一个2元组。

public class Pair<DD extends Comparable<DD>,VV> implements Comparable< Pair<DD,VV> > {
    DD d;
    VV v;
    // Implementation removed.
    }

我想创建一个名为NumberPair的新子类 - 唯一的区别是,虽然 Pair 可以想象包含任何两类对象,但我的 NumberPair类只允许包含数字< /强>

有人能告诉我如何表达这个吗?

PS。不可否认,这看起来像一个愚蠢的设计,因为我们可以使用这个类,我们也可以使用Map - 请暂时忽略它。

2 个答案:

答案 0 :(得分:1)

这是宣言:

public class NumberPair<VV> extends Pair<Number,VV> {

}

答案 1 :(得分:1)

我不确定我是否完全解决了这个问题,但我认为这可能是您正在寻找的问题:

public class NumberPair<NDD extends Number & Comparable<NDD>, NVV extends Number> extends Pair<NDD, NVV> {}

这会强制两个类型参数扩展Number。