When coding with Collections:
Why use:
List<String> mList= new ArrayList<String>();
Why not:
ArrayList<String> mList=new ArrayList<String>();
When I ask the answer is : "It is JAVA convention".
I need a comprehensive, logical and expressive answer on this.