Есть запись:
List<String> list = new ArrayList<String>();
Зачем указывать тип List, а не ArrayList? Часто встречаю в туториалах такой вид записи, но нигде не объясняли зачем это нужно.
Т.е в чем различие записи:
List<String> list = new ArrayList<String>();
от
ArrayList<String> list = new ArrayList<String>();
Буду рад получить ссылку на статью где освещается эта тема.