2017-01-11 7 views
-4

Как добавить элементы массива строки в arraylist?Как добавить элементы массива строки в arraylist в java

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    List<BudgetEntity> budgetEntityList = new ArrayList<>(20); 
    BudgetEntity budgetEntity = new BudgetEntity(); 

    String budgetID[] = request.getParameterValues("budgetID"); 

for(int i=0; i < budgetID.length ; i++) { 

     for(int k=0; k < budgetEntityList.size() ; k++) { 

      budgetEntity= budgetEntityList.get(k); 
     } 

      budgetEntity.setTotal(Integer.valueOf(budgetID[i])); 
     } 
+0

я получаю это исключение .... java.lang.IndexOutOfBoundsException: Индекс: 0, Размер: 0 \t в java.util.ArrayList.rangeCheck (Unknown Source) \t в java.util.ArrayList.get (Unknown Source) \t в com.watanialivestock.contoller.BudgetSaveServlet.doPost (BudgetSaveServlet.java:75) – Satti

+3

Пожалуйста, отредактируйте вас questi с этим исключением также см. [ask], чтобы написать правильный вопрос. – AxelH

+0

Также stacktrace (как бы трудно читать в комментарии) относится к строке 75 Budg etSaveServlet.java. Какая строка? –

ответ

0

Ваш budgetEntityList пуст, когда вы делаете budgetEntity= budgetEntityList.get(k);

Двигаемся new ArrayList<>(capacity) не наполнит ваш ArrayList с объектами BudgetList, она только устанавливает начальную емкость вашего ArrayList.

Итак, что вам нужно сделать, это:

for(int k=0; k < budgetEntityList.size() ; k++) { 
     budgetEntity = new BudgetEntity(); 
     budgetEntityList.add(budgetEntity); 
    } 

А затем установите итог вашего BudgetEntity