What is the difference between List and List<String> (not parametrized list and list parametrized by String) in Java ?

List stores Objects so every "get" from List has to cast object to desired type.
List stores objects of type String only so casting is not necessary. Generalization gives compilation time error checking.