Я создаю приложение на Java для извлечения данных из базы данных MySQL. После выполнения запроса я получаю ResultSet и делаю следующее для извлечения записей:
while (rs.next())
{
for (int column = 1; column <= rm.getColumnCount(); column++) {
row.add(rs.getObject(column));
}
result.add(row.toString());
row.clear();
}
где rs = ResultSet и rm = ResultSetMetaData
Проблема в том, что мне нужно сделать result.add (row.toString ()); , а не просто result.add (row); (с помощью которого я бы как создать двумерный ArrayList). В противном случае я получаю пустые результаты.
Я пытался поместить row.clear (); в начале, перед циклом для , но в результате все мои результаты заполняются несколькими экземплярами последней записи. , Точно так же, как строка не была добавлена к результату до самого конца, когда он равен последней записи. Нужно ли "фиксировать" ArrayList row перед добавлением его в качестве элемента в другой ArrayList? Если так, то как?
Кроме того, из любопытства, почему .toString () работает по-другому?