Java 初始化列表和ArrayList之间有区别吗?

Java 初始化列表和ArrayList之间有区别吗?,java,initialization,Java,Initialization,我有密码: List<Integer> grades = new ArrayList<Integer>(); ArrayList<Integer> grades1 = new ArrayList<>(); List grades=new ArrayList(); ArrayList grades1=新的ArrayList(); 初始化ArrayList的第一种方法和第二种方法有什么区别?本质上,ArrayList是一种列表,这意味着正如Noma

我有密码:

List<Integer> grades = new ArrayList<Integer>();
ArrayList<Integer> grades1 = new ArrayList<>();
List grades=new ArrayList();
ArrayList grades1=新的ArrayList();

初始化ArrayList的第一种方法和第二种方法有什么区别?

本质上,ArrayList是一种列表,这意味着正如NomadMaker所指出的,ArrayList可以初始化为列表

List<Integer> grades = new ArrayList<Integer>();
List grades=new ArrayList();

如果您计划将
等级
更改为不同类型的列表,您将希望使用
列表
,否则没有区别。

您搜索过这个吗?在过去的一周里,我已经在这里看到了几次相同的问题的答案因为这可能允许您将等级类型更改为不同类型的列表。是的,存在差异。有时,实现有接口未指定的其他方法。为了充分利用这些功能,您将希望分配给实现类型(类名),而不是接口。