2014-10-28 48 views
-1

我有这个ArrayList泛型和的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; 
} 

但是我要的是刚刚从一个特定的指数值。希望有人能帮忙。谢谢。

+0

您应该定义一个您想要使用单个属性访问的类型。 – 2014-10-28 09:19:28

回答

0

由于fruitList的类型为ArrayList<Fruits>,因此fruitList.get(2)的值将是Fruits类型。您无法将其指定回fruidList,并且您无法将其从ArrayList<Fruits>类型的方法中返回。如果要返回fruitList的单个元素,则可以简单地声明您的方法返回Fruits值,而不是ArrayList<Fruits>。它也应该有一个不同的名称:

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

谢谢特德,我仍然有一个问题。我如何才能在jsp页面中看到这些内容?因为它是在jsp中的代码如下: 并且jsp页面中没有输出。 – Sor 2014-10-28 04:32:02

+0

@Sor - 如果你想显示一个单一的值,那么为什么属性值是'“fruitList”'?你想显示一个值还是想显示一个表示整个数组内容的可读字符串? – 2014-10-28 05:08:44

+0

单值Ted。 – Sor 2014-10-28 06:22:58