Because while String extends Object, List does not extend List
Update:
In general, if Foo is a subtype (subclass or subinterface) of Bar, and G is some generic type declaration, it is not the case that G is a subtype of G.
This is because collections do change. In your case, If List was a subtype of List, then types other than String can be added to it when the list is referenced using its supertype, as follows:
List stringList = new ArrayList;
List
and the Java compiler has to prevent these cases.
More elaboration on this Java Tutorial page.