Object[][]
を別のObject[][]
にどのように追加しますか?2つのオブジェクト[] []を一緒に追加する
Object dhadj[][] = new Object[0][6]
を作成しました。これは、行数がわからないため0に初期化されていますが、列数はわかります。
ループでは、dha
という別のObject[][]
を作成し、データベース内のデータを検索します。私の意図は、すべてのループの最後に、dha
をdhadj
に追加機能を使って追加したいと考えています。しかし、私はエラーが発生します。配列をオブジェクトの戻り値(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
は、これは私が配列を一緒に追加するために使用しています関数です。
private Object[][] appendValue(Object[][] obj, Object[][] newObj) {
ArrayList<Object> temp = new ArrayList<Object>(Arrays.asList(obj));
temp.add(newObj);
return (Object[][]) temp.toArray();
} //end appendvalue
もしあなたが* '* [Object [] []' sを持っていれば、おそらく深刻なデータモデリングの問題があります。 – chrylis
確かに、あなたはそれをすべて間違っている。これらの6つのフィールドを持つクラス( 'Foo'と呼んでいますが、おそらくそうではないはずです)を作成し、' ResultSet'から各行から 'Foo'を1つ作り、リスト '。 –
dcsohl
ok mr dcsohl私はそれをやろうとします... – Joseph