2017-03-07 129 views

回答

0

这条线 -

ArrayList<ArrayList<Integer>> list = new ArrayList<>(); 

是相当于此 -

ArrayList<ArrayList<Integer>> list = new ArrayList<>(); 

因为Java泛型中的类型推断。

类型推断是JVM可以从上下文自动推断目标泛型的过程。从official Java Tutorial -

类型推断是看每一个方法调用 确定类型 参数(或参数),使调用应用Java编译器的能力和相应的声明。

在第一个示例中,您将新创建的ArrayList<>分配给ArrayList<String>类型的引用。从上下文中,Java编译器可以确定new ArrayList<>的类型参数将是String。类似的推理也适用于第二个例子。

相关问题