Java: ограниченные символы подстановки или параметр ограниченного типа?
Недавно я прочитал эту статью: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);
}
}
Какой способ я должен использовать? Полезен ли подстановочный знак в этом случае?