此类旨在表示一对任意类型的对象-python开发人员可能将其视为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的情况,这看起来像是一个愚蠢的设计-请暂时将其忽略。

最佳答案

我不确定是否能完全解决问题,但我认为这可能是您要寻找的东西:

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


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

10-02 11:31