最近,我读到了这篇文章: Http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html
我的问题是,与其创造这样的方法:
public void drawAll(List<? extends Shape> shapes){
for (Shape s: shapes) {
s.draw(this);
}
}
我可以创建一个这样的方法,它工作得很好:
public <T extends Shape> void drawAll(List<T> shapes){
for (Shape s: shapes) {
s.draw(this);
}
}
我应该使用哪种方式? 通配符在这种情况下有用吗?