我想了解一些深度的下界通配符的用法。我正在尝试编写一个通用方法copy
,它将一个List
的内容复制到另一个。我想出了这个方法签名:关于Java泛型下限用法:? super T
<T> void copy(List<T> dest, List<? extends T> src)
我觉得这个签名是全面解决所有的场景。但是,我看到,在Java集合类的方法签名是这样的:
<T> void copy(List<? super T> dest, List<? extends T> src)
我不明白为什么他们使用List<? super T> dest
,而不是只是List<T> dest
。他们的签名是否有一些额外的灵活性?
您可以用反引号包围内联代码以避免HTML占用您的泛型。 –