📌  相关文章
📜  site:stackoverflow.com 列表是抽象的;无法实例化 public List<Integer>结果 = 新列表&lt;&gt;(); - Java (1)

📅  最后修改于: 2023-12-03 15:20:09.008000             🧑  作者: Mango

对于Java的'site:stackoverflow.com 列表是抽象的;无法实例化 public List结果 = 新列表<>();'问题的解答

问题描述

在Java中,我们可以使用List接口代表一个列表数据结构。但是,当我们声明一个List实例时,不能直接使用new关键字实例化一个抽象的List类型。例如:

public List<Integer> myNumbers = new List<Integer>();

这个代码片段会报错,提示无法实例化一个抽象的List类型。那么,如何在Java中正确地声明和使用List类型的变量呢?

解答

在Java中,List接口是一个抽象的数据结构,它不能被实例化。要想使用List,我们需要使用它的具体实现类,例如ArrayListLinkedList等。这些类都实现了List接口,并提供了具体的实现方案。

在我们声明一个List变量时,我们应该使用具体的实现类来进行实例化。例如:

public List<Integer> myNumbers = new ArrayList<Integer>();

这个代码片段中,我们使用ArrayList类来实例化一个List类型的变量。这样做是可以的,因为ArrayList类实现了List接口,并提供了具体的实现方案。

除了ArrayList,我们还可以使用其他的实现类进行实例化,例如LinkedListVector等。具体使用哪一种实现类,取决于我们的具体需求和场景。

总结一下,当我们在Java中声明和使用List类型的变量时,应该注意以下几点:

  1. List是一个接口,不能被实例化。
  2. 我们应该使用具体的实现类来进行实例化。
  3. 具体使用哪一种实现类,取决于我们的具体需求和场景。

希望这个解答能够帮助你正确地使用List类型的变量。