我想实现2个接口
interface Bar {
List<Beers> getDrinks();
}
interface Fridge {
List<Soda> getDrinks();
}
我想实现一个满足两者的类。
class Backyard<T extends Beer, Soda> implements Bar, Fridge {
List<T> getDrinks() { return null; }
}
问题是,当我指定为List类型时,它表示我试图返回不兼容的类型。这可以在Java 7中实现吗?
如果我改变我的例子让getDrinks()只返回Beer或Soda,那么我可以在我的Backyard课程中没有问题返回T.
请注意;我的例子有点做作;实际上我正在尝试包装2个版本的API(我无法控制)。对于我的特定用例,它有点令人沮丧,因为我将返回null或抛出不支持的操作异常,因为我只需要为我的用例组合一组有限的功能。