泛型和数组列表

时间:2014-10-28 03:56:03

标签: generics arraylist struts2

我有ArrayList

ArrayList<Fruits> fruitList = Fruits.getNames();

我现在要打印出来,比如说arrayList的索引2中的值。 我在我的方法中尝试了以下内容

public ArrayList<Fruits> getFruitList(){
    fruitList = fruitList.get(2);
    return fruitList;
}

不幸的是我收到以下错误

incompatible types
required: ArrayList<Fruits>  
found: Fruits

这个方法在Struts2动作类中,我基本上是将fruitList发送到jsp页面。 以下工作没有问题,它返回整个arraylist

public ArrayList<Fruits> getFruitList(){
    return fruitList;
}

然而,我想要的只是来自特定索引的价值。希望有人能提供帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

由于fruitList的类型为ArrayList<Fruits>,因此fruitList.get(2)的值将为Fruits类型。您无法将其分配回fruidList,也无法从ArrayList<Fruits>类型的方法返回。如果您想返回fruitList的单个元素,则只需声明方法即可返回Fruits值,而不是ArrayList<Fruits>。它也应该有一个不同的名称:

public Fruits getFruitAt(int index){
    return fruitList.get(index);
}