This generic question in Java may look confusing to any one who is not very familiar with Generics as in first glance it looks like String is object so List can be used where List is required but this is not true. It will result in compilation error.
It does make sense if you go one step further because List can store anything including String, Integer etc but List can only store Strings.
Also have a look at: Why not inherit from List?