java列表创建方法区别

标签 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/

相关文章:

java - 如何在不遍历整个 json 的情况下检索和更新 json 数组元素

JAVA Paho mqtt - 发布到通配符

java - 如何在 JLabel/JTextField 中显示(从左侧换行)文件路径?

Java:为什么在 List 上调用 `remove()` 会抛出 UnsupportedOperation 异常?

java - javadoc 中的枚举排序

java - 如何让客户端识别EJB项目中包含的对象类?

java - 使用对象的特定变量对 LinkedList 进行排序?

java - 我如何创建一个在 java 中同时接受 String[] 和 Integer[] 的方法而不重载方法?

java - 如何使用qsub来实现java程序

java - 从图库或照片中删除图片 android 8.0