Declaring generic methods, clarification needed

Viewed 564

Consider the following 2 method declarations:

1. public abstract <T extends MetaData> List<T> execute();
2. public abstract List<? extends MetaData>  execute();

Both seem to return back a list of objects that extend MetaData.

What is the difference between them please?

3 Answers
Related