Создать проще столько объектов String сколько столбцов в разных таблицах JTable

Подскажите, как сделать так, чтобы Object[] row заполнялось таким количеством столбцов, какое имеется в запрашиваемой таблице.

headers.size() = 7, поэтому rs.getString(i++) написано 7 раз. Меньше можно, больше - ошибка.

Как написать код так, чтобы не надо было создавать вручную столько rs.getString(i++), сколько столбцов в другой таблице базы данных?

static void select() {
    try {
    PreparedStatement st = c.prepareStatement("select * from " + table_name);
    ResultSet rs = st.executeQuery();
    while (rs.next()) {
        int i = 1;
        Object[] row = new Object[]{
                rs.getString(i++),
                rs.getString(i++),
                rs.getString(i++),
                rs.getString(i++),
                rs.getString(i++),
                rs.getString(i++),
                rs.getString(i++)
        };
        Gui.model.addRow(row);
    }
    } catch () {}
}

Ответы (1 шт):

Автор решения: NarasuOo
int columnCount = rs.getMetaData().getColumnCount(); // Получаем число столбцов

Object[] arr = new Object[columnCount];
Arrays.setAll(arr, x -> rs.getString(x)); // Заполняем массив
→ Ссылка