В большей части кода Java, который использует коллекции, я вижу что-то вроде этого.
List<String> list = new ArrayList<String>();
Но мне всегда было интересно, почему оно предпочтительнее, чем
ArrayList<String> = new ArrayList<String>();
Я немного исследовално не смог понять многое.