1
我有一个关于在Java集合框架中使用泛型类型的问题。Java集合框架中的泛型类型和方法声明
下面是从Oracle的Java集合线程所采取的Set
接口的片段(发现here):
public interface Set<E> extends Collection<E> {
// Basic operations
int size();
boolean isEmpty();
boolean contains(Object element);
// optional
boolean add(E element);
// optional
boolean remove(Object element);
...
我的问题是:鉴于Set<E>
是通用与泛型类型参数E
,为什么是contains
和remove
方法声明为Object
类型的参数? add
方法需要E
类型的参数,为什么不要contains
和remove
也这样做?
谢谢史密斯先生42。你有没有一个向后兼容的例子?很高兴看到它在行动中。 – 2013-03-01 19:53:05