TIntHashSet 和 Java 中的 Set 之间是否有共同的父 class?

Is there a common parent class between TIntHashSet and Set in Java?

我试图创建一个可以使用 Set 或 TIntHashSet 的抽象 class。我想让它使用 classes 实现的 .contains 或 .addAll 但不幸的是我找不到共同的父 class.

否,但您可以使用 TIntSetDecoratorTIntHashSet 视为 Set<Integer>

你不能使用继承来做到这一点,因为没有共同的祖先。

最好的方法是使用策略模式。您的摘要 class 包含:

SetInterfaceStrategy setInterface;

setInterface内部存储了Set或TIntHashSet,并公开了你要使用的方法。在您的抽象对象中为其访问的集合类型设置正确的策略。

这与使用 TIntSetDecorator 的建议非常相似,但允许您进行更多控制,因此您可以尝试避免装箱和拆箱。