列表类型说明

时间:2014-06-12 19:18:46

标签: java variables

也许有点误导性的标题,但不知道如何说出来。

在ArrayList的示例中,这两个列表对象之间有什么区别:

ArrayList list = new ArrayList<Integer>();

ArrayList<Integer> list = new ArrayList();

注意:我知道列表层次结构,接口和继承,但我不确定它在这种情况下是如何应用的。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

ArrayList list = new ArrayList<Integer>();

将发出有关使用原始ArrayList对象的警告,因为您没有指定列表是通用ArrayList类型。

ArrayList<Integer> list = new ArrayList();

将提供未经检查的转换警告,因为您要将非泛型ArrayList分配给类型化ArrayList

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

将在java7 +中运行。菱形运算符告诉编译器推断泛型类型。

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

是使用ArrayList的标准方法,即使它比新的java7语法更长。