Another very basic question regarding generics in Java and follows directly from a previous question of mine . Aren't we providing the same information to the compiler two times by writing the code below . Why do we need to provide the both in the left hand side as well as on the right hand side ?
List<Number> numbers = new ArrayList<Number>();
Edit: As I see in some answers that it it not required any more in java 7 onwards. But I would like to know what was the reason that it wasn't possible before java 7 ?