将通用Java输入限制为两种类型之一

时间:2014-09-30 21:16:44

标签: java generics overloading

我有两个不同的类Stack<E>Queue<E>,它们的方法具有完全相同的名称(void add(E item)E remove()boolean isFull()&amp; { {1}})。

我希望实现一个通用类boolean isEmpty(),其中Container<ContainerType>可能只是ContainerTypeStack

我尝试实现如下,但语法似乎不正确:

Queue

我猜这是非常常见的,并且会有一种预先存在的方法来做到这一点,但我无法找到它。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

虽然可以(并且经常会)变得更复杂,但在这种情况下,您似乎需要分析出&#34; Stack&#34;的常见接口组件。和&#34;队列&#34;将类分为公共基类或相互支持的接口。然后,我认为通用签名非常明显。