2014-02-17 1 views
-1

Я передал ArrayList другому методу. В этом методе мне нужно извлечь набор результатов из ArrayList и выполнить итерацию через него. Устанавливается без проблем.итерация через результаты, переданные в массиве

Проблема заключается в попытке извлечь набор результатов из массива, и из-за этого я не могу сделать resultSet = GUIsidearray.get (0); не работает, и из-за этого я не могу сделать while (resultSet.next()).

См. Некоторые примеры кода ниже. Любая помощь будет оценена по достоинству.

public void updateLocal(ArrayList<ArrayList<Object>> GUIsidearray) { 

    System.out.println("Get passed Array Value " + GUIsidearray.get(0)); 
    // Shown in console -> Get passed Array Value 
    // [[email protected]] // 

    ResultSet resultSet 
    resultSet = GUIsidearray.get(0); 

    boolean emptyRs = true; 

    try { 
     while (resultSet.next()) { 
      emptyRs = false; // If ResultSet is empty 

      String Serno = (resultSet.getString("Serialnumber")); 
      System.out.println("Serial Number " + Serno); 
     } 
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
+0

попробуйте использовать для каждого цикла – Sumedh

+1

Определить «не работает». 'ArrayList ' не является 'ResultSet', поэтому вы не можете ожидать' ResultSet resultSet = GUIsidearray.get (0); 'для компиляции. –

+0

Не работает = resultSet = GUIsidearray.get (0); -> Изменить тип 'resulSet' на 'ArrayList ' – user3240355

ответ

0

Обратите внимание, как печатное представление заключается в следующем:

[[email protected]] 

и не так:

[email protected] 

Это говорит о том, что ResultSet вы пытаетесь получить доступ является первым элементом внутренней список. Так что это должно работать:

ResultSet resultSet = (ResultSet) GUIsidearray.get(0).get(0); 

Обратите внимание, что есть почти наверняка лучший способ, чтобы получить ResultSet. Без полного примера трудно сказать; вы, вероятно, делаете вещи более сложными, чем они должны быть. Подсказка: покажите нам, откуда исходит GUIsidearray.

0

Я думаю, что вы хотите иметь

while(resultSet.hasNext()) 

вместо

while(resultSet.next()) 

как первый один возвращает логическое значение, тот, который вы реализован возвращает следующий элемент Resultset.

+0

Возможно, вы правы, но это не проблема, с которой сталкивается OP. Программа не получает достаточно далеко, чтобы это стало проблемой. –