我尝试在Java中使用List
,但它说“找不到符号”。
我尝试了以下代码:
List<int> myList=new List<int>();
myList=new JList<int>();
这根本不起作用。
答案 0 :(得分:6)
这里有三个直接问题:
类型参数不能是原始的;您需要使用适当的wrapper class。在您的情况下,它将是List<Integer>
。
List
是一个接口:您无法实例化它。您需要实例化一个实现它的类,常见的选项是ArrayList
:
List<Integer> myList = new ArrayList<Integer>();
在Java 7及更高版本中,您实际上不必在赋值的右侧重新声明type参数:
List<Integer> myList = new ArrayList<>();
List
/ ArrayList
不在java.lang
包中,因此您必须通过在文件顶部添加相应的import
语句来导入它们(根据包裹声明,如果有的话):
import java.util.ArrayList;
import java.util.List;
这就是为什么它抱怨“无法找到符号”。
答案 1 :(得分:0)
以下列表声明的两个问题
List<int> myList=new List<int>();
是:
您需要将列表定义为:
List<Integer> myList=new ArrayList<Integer>();
还要确保在代码中导入以下类:
import java.util.ArrayList;
import java.util.List;
答案 2 :(得分:0)
首先,int
不能用于参数化类型。您可以改为使用Integer
。
其次,List
是一个接口,您无法实例化List
。您可以使用实现ArrayList
的{{1}}类:
List
或者:
ArrayList<Integer> list = new ArrayList<Integer>();