我们将字符串的新结构列为
ArrayList<String> listname=new ArrayList<>;
但是当我们必须为整数定义一个arraylist时,我们为什么要编写
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
答案 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。类似的推理也适用于第二个例子。