0

我尝试List在 Java 中使用,但它显示“未找到符号”。

我尝试了以下代码:

List<int> myList=new List<int>();
myList=new JList<int>();

这根本不起作用。

4

3 回答 3

6

这里有三个直接的问题:

  1. 类型参数不能是原始的;您需要使用适当的包装类。在你的情况下,它会是List<Integer>.

  2. List是一个接口:你不能实例化它。您需要实例化一个实现它的类,一个常见的选项是ArrayList

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

    在 Java 7 及更高版本中,您实际上不必重新声明赋值右侧的类型参数:

    List<Integer> myList = new ArrayList<>();
    
  3. List/ArrayList不在包中,因此您必须通过在文件顶部java.lang包含适当的语句来导入它们(在包声明下,如果有的话):import

    import java.util.ArrayList;
    import java.util.List;
    

    这就是为什么它抱怨“找不到符号”。

于 2013-09-12T00:54:05.910 回答
0

First of all, int cannot be used in paramertized types. You can use Integer instead.

Secondly, List is an interface, you cannot instantiate a List. You can use the ArrayList class which implements List:

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

Or:

List<Integer> list = new ArrayList<Integer>(); 
于 2013-09-12T00:54:48.460 回答
0

以下列表声明的两个问题

List<int> myList=new List<int>();

是:

  1. List 适用于对象,因此您需要使用 Integer,而不是原始 int
  2. List 是一个接口所以不能实例化它,使用 ArrayList 一个 List 接口的实现类来创建一个实例。

您需要将您的列表定义为:

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

还要确保在代码中导入以下类:

import java.util.ArrayList;
import java.util.List;
于 2013-09-12T00:54:34.113 回答