【发布时间】:2013-11-20 10:11:41
【问题描述】:
这些List有什么区别。
ArrayList<? extends CustomClass> test = new ArrayList<CustomClass>();
ArrayList<CustomClass> test2= new ArrayList<CustomClass>();
或在这两个类之间。
class test <T extends CustomClass> {
public void <T> someThings(T arg){}
}
class test {
public void someThings(CustomClass arg){}
}
T 扩展了CustomClass,因此在someThings() 方法中使用CustomClass 的子类作为参数应该可以工作。
但它与第二种情况完全相同,我们也可以将CustomClass 的子类作为参数传递。
这两个解决方案之间的确切区别是什么?
【问题讨论】:
标签: java list class generics design-patterns