2014-10-28 2 views
-1

Я это ArrayList:Дженерики и ArrayLists

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

теперь я хочу, чтобы распечатать, скажем, значение индекса 2 ArrayList. Я попытался следующим в моем методе

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

К сожалению, я получаю следующую ошибку

incompatible types 
required: ArrayList<Fruits> 
found: Fruits 

Этот метод в классе действий Struts2, я в основном посылающий fruitList на страницу JSP. следующие работы без проблем, она возвращает весь Список_массивов

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

Однако то, что я хочу, это просто значение из определенного индекса. Надеюсь, кто-то может помочь. Спасибо.

+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); 
} 
+0

Спасибо Теду, у меня все еще есть проблема. Как мне узнать об этом на странице jsp? Так как это код в jsp выглядит следующим образом: и на странице jsp нет выхода. – Sor

+0

@Sor - Если вы хотите отобразить одно значение, то почему значение свойства будет '' fruitList''? Вы хотите отобразить одно значение или вы хотите отобразить читаемую строку, представляющую содержимое всего массива? –

+0

Отдельное значение Тед. – Sor