将两个Object [] [] s附加在一起

时间:2016-08-26 16:49:44

标签: java postgresql object arraylist prepared-statement

如何将Object[][]附加到另一个Object[][]

我创建了Object dhadj[][] = new Object[0][6],我已将其初始化为0,因为我不知道行数,但我知道列数。

在循环中,我创建另一个名为Object[][]的{​​{1}},并在数据库中搜索一些数据。我的意图是,在每个循环结束时,我想使用append函数将dha添加到dha。但是,我收到了一个错误;使用dhadj将数组转换为对象return(Object [] [])时出现问题。

我该怎么做才能解决这个问题?还有另一种方法吗?

这是我的代码:

temp.toArray()

这是我用来将数组附加到一起的函数:

Object dhadj[][] = new Object[0][6];
v = vector;
ro = size;
for (int i = 0; i < ro; i++) {
    int d;
    d = Integer.valueOf(v[i]);
    query = "SELECT * FROM hadj WHERE id=?";

    try (PreparedStatement preparedStatement = c.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_READ_ONLY)) {
        preparedStatement.setInt(1, d);
        ResultSet rs = preparedStatement.executeQuery();
        if (rs != null) {
            rs.last();
            int siz = rs.getRow();
            rs.beforeFirst();

            ResultSetMetaData rsMeta = rs.getMetaData();
            int a = 0;
            Object dha[][] = new String[siz][6]; //the neew object dha

            while (rs.next()) {

                dha[a][0] = rs.getString("id");
                dha[a][1] = rs.getString("idh");
                dha[a][2] = rs.getString("ticket");
                dha[a][3] = rs.getString("montant");
                dha[a][4] = rs.getString("datei");
                dha[a][5] = rs.getString("nombrep");

                a = a + 1;

            }//end while
            dhadj = appendValue(dhadj, dha); //here I add it using fuction
        } else {
            dhadj[0][0] = Integer.toString(d);
            for (int ii = 1; ii < 6; ii++) {
                dhadj[0][ii] = "";
            }
        }
    }//end try
}//end for v

1 个答案:

答案 0 :(得分:1)

如果您不知道元素的数量,则应该使用List。我会使用ArrayList或ArrayDeque:

List<Object[]> results = new ArrayList<>();
Object[] set = new Object[6];

使用6个结果创建完对象[]后,调用results.add(set);