2

Whats the main difference between a Collection of String (Collection)and a simple, plain collection?

Global Dictator
  • 1,539
  • 9
  • 24
  • 37

4 Answers4

7

A plain Collection will accept any kind of Object, while a Collection<String> will only accept Strings.

If instead of String you had a Collection of something that could be extended, say Collection<List>, then the collection would accept anything that is a subtype of List. Sun's Java Tutorial on Generics is a good place to go to learn more.

Bill the Lizard
  • 398,270
  • 210
  • 566
  • 880
3

Once compiled, nothing... But it can help you not to try to put any other object than a String while coding, and you don't have to cast back the objects that you retrieve from the collection.

Vinze
  • 2,549
  • 3
  • 22
  • 23
1

collection is generics, and it is used to define which type of data it is going to handle, precautions for runtime error, its better it tells you at compile time. so simple collection can accept any thing but collection of string will only accept string.

0

Generics. using a Collection as an argument or as a return type ensures that the caller/accessor to anticipate the objects to be present in the collection. this helps to avoid unnecessary casting to String.

Type erasure ensures that the generic definition is removed at runtime.A feature which helps in backward compalitibility.

frictionlesspulley
  • 11,070
  • 14
  • 66
  • 115