<分区>
像这样定义数组列表有什么区别:
List list = new LinkedList();
像这样?
LinkedList list = new LinkedList();
标签 java
<分区>
像这样定义数组列表有什么区别:
List list = new LinkedList();
像这样?
LinkedList list = new LinkedList();
最佳答案
正如其他答案所建议的那样,List 是接口(interface),而 LinkedList 是实际的实现类型。例如,如果您后来决定要使用 ArrayList,您可以键入:
List list = new ArrayList();
因为ArrayList声明了接口(interface)List。不利的一面是,如果您想稍后调用 ArrayList/LinkedList/(其他具有不在列表中的方法的类名)的任何方法,但这些方法不属于 List 接口(interface)(这可能不是问题),您将不得不检查它是否真的是 ArrayList 等,并将其转换为那些类型。像这样:
ArrayList arrayList = (ArrayList) list;
*仅在检查它确实是一个 ArrayList 之后,否则抛出异常。
关于java列表创建方法区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11017272/