Java数组和ArrayList声明中的冗余措辞

Alo*_*wal 3 java arrays arraylist

ArrayListJava中的典型声明具有以下类型:

ArrayList<Object> name = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

同样,对于数组,我们有:

Object[] name = new Object[size];
Run Code Online (Sandbox Code Playgroud)

现在,我们当然不能声明以下类型:

ArrayList<Object> name = new ArrayList<AnotherObject>();
Run Code Online (Sandbox Code Playgroud)

两次指定同一对象的类型和名称对我来说似乎总是多余的.上述声明中的冗余可以通过以下方式轻松完成:

ArrayList<Object> name = new();
Run Code Online (Sandbox Code Playgroud)

是否有任何特定的原因,我错过了为什么它按照它的方式完成?

Eri*_*rom 5

事实并非如此.至少,不再是.现在你可以这样做:

ArrayList<Object> name = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

你不能放弃第二个,ArrayList因为它不一定要与第一个匹配.例如,您可以这样做:

List<Object> name = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

你会得到一个,ArrayList但看到它List.