java - Java中的TIntHashSet和Set之间是否有共同的父类?

标签 java collections

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

最佳答案

您无法使用继承来做到这一点,因为没有共同的祖先。

做到这一点的最佳方法是使用策略模式。您的抽象类包含:

SetInterfaceStrategy setInterface;

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

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

关于java - Java中的TIntHashSet和Set之间是否有共同的父类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29684596/

相关文章:

java - Apache POI 在空电子表格中看到列?

list - Java : sort list of lists

java - 使用属性子集确定唯一性的不同对象列表

java - Java 变量如何与其自身不同?

java - Java 中两个 Map<Long, Integer> 之间是否至少存在差异的可读方式?

java - 同步集合/列表的映射

Java:将集合类型转换为子类型

java - Scanner input = new Scanner(System.in) 到底是什么意思?

java - 在启动时将 jar 文件添加到类路径

java - IntelliJ 无法识别 Lombok 方法但编译成功