What is difference in following two declarations
List<Integer> l = new ArrayList(); //and
List<Integer> l = new ArrayList<Integer>();
If not then why in java 7 dimond operator ie <> is introduced to avoid type writing at right side of '=' or at object creation side.