列表声明错误

时间:2014-12-08 15:44:48

标签: java list arraylist

Actuall这不是我第一次与List合作,但我真的不知道下面的List声明有什么问题。

我想要做的是宣布List<Integer, Page>&#34; Page&#34;是我创建它的类,但是当我声明我的列表如下所示时,我会收到以下发布的错误

声明

private List<Integer, Page> pageList;

错误

Multiple markers at this line
- Incorrect number of arguments for type List<E>; it cannot be parameterized with arguments 
 <Integer, Page>

5 个答案:

答案 0 :(得分:1)

列表是一种类型的集合,您正在传递IntegerPage。看看java.util.Map

您可以拥有Page的列表,声明为private List<Page> pageList,但它只会接受Page个实例,不知道您想要的整数是什么?

答案 1 :(得分:1)

假设您正在讨论标准java.util.List,那么这应该只有一个类型参数,而不是两个。如果需要Page个对象的列表,请使用:

private List<Page> pageList;

答案 2 :(得分:1)

List只能是一种类型。因此,List<Integer>List<Page>都有效,但List<Integer, Page>不是。

也许您想使用Map代替?我不确定你要存储什么,所以这只是猜测。或者,您可以创建一个包含页面和整数的自定义类,并使列表存储该自定义类的那些对象。

答案 3 :(得分:0)

可能是你需要的:

  

private HashMap<Integer, Page> pageList;

答案 4 :(得分:0)

List是一系列事物,其中Mapkey-value对的集合。我认为你正在寻找key-value对,看看你的尝试。

可能的声明

列表:private List<Integer> pageListprivate List<Page> pageList。前者是Integer Objects的集合,后来是Page Objects的集合。

使用地图:private Map<Integer, Page> pageList此处Integer成为Key,相应的Page object将成为value