假设我有以下课程:
public class Either<A, B> {
public Object get();
}
Either是一种存储类型 A 或 B 的一个对象的类型。 get()检索该对象。
问题是是否可以使用泛型来改变 的方法签名,get()以便返回的类型不仅仅是Object,而是 A 和 B 的任何常见超类型。例如,anEither<Integer, Long>可以有get()return Number,anEither<Deque<T>, Set<T>>可以有get()returnIterable<T>或Collection<T>,等等。(显然, anEither<Foo,Foo>应该有get()return Foo)。
如果这是可能的,如果我有,可以返回Either<List<A>, List<B>>的最具体的类型是什么?get()它是 raw List, wildcardList<?>还是完全其他的东西?