在Java泛型中,有个好像是经常性出现的习惯用法,它相当令人费解:
class SelfBounded<T extends SelfBounded<T>> { // ....}
这就像两面镜子一样彼此照向对方所引起的炫目效果一样,是一种无限反射。SelfBounded类接受泛型参数T,而T由一个边界类限定,这个边界就是拥有T作为其参数的SelfBounded。
当你首次看到它时,很难去解析它,它强调的是当extends关键字用于边界与用来创建子类明显不同的。
在Java泛型中,有个好像是经常性出现的习惯用法,它相当令人费解:
class SelfBounded<T extends SelfBounded<T>> { // ....}
这就像两面镜子一样彼此照向对方所引起的炫目效果一样,是一种无限反射。SelfBounded类接受泛型参数T,而T由一个边界类限定,这个边界就是拥有T作为其参数的SelfBounded。
当你首次看到它时,很难去解析它,它强调的是当extends关键字用于边界与用来创建子类明显不同的。