为什么我们写ArrayList <arraylist <integer>&gt; list = new ArrayList&lt;&gt;();

时间:2017-03-07 14:48:21

标签: arraylist

我们将字符串的新结构列为

ArrayList<String> listname=new ArrayList<>;

但是当我们必须为整数定义一个arraylist时,我们为什么要编写

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

1 个答案:

答案 0 :(得分: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。类似的推理也适用于第二个例子。