我正在從XLS檢索數據使用jdbc sql。以下是我的計劃。ArrayList行爲非常奇怪
情況1:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c = DriverManager.getConnection("jdbc:odbc:Excel Files", "", "");
stmnt = c.createStatement();
String query = "select * from [Proficiency$];";
ResultSet rs = stmnt.executeQuery(query);
baseColumnList = new ArrayList();
while(rs.next()) {
//baseColumnList.add(rs.getString(1));
System.out.println(rs.getString(1));
//System.out.println(baseColumnList);
}
輸出:
Aadmin
Badmin
Badminimage
batch
Cadmin
Dadmin
Eadmin
rulesengine
Fadmin
genadmin
Gadmin
Hdomain-EU
Padmin
IAA
情況2:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c = DriverManager.getConnection("jdbc:odbc:Excel Files", "", "");
stmnt = c.createStatement();
String query = "select * from [Proficiency$];";
ResultSet rs = stmnt.executeQuery(query);
baseColumnList = new ArrayList();
while(rs.next()) {
baseColumnList.add(rs.getString(1));
System.out.println(baseColumnList);
}
輸出:
[Aadmin]
[Aadmin, Badmin]
[Aadmin, Badmin, Badminimage]
[Aadmin, Badmin, Badminimage, batch]
[Aadmin, Badmin, Badminimage, batch, Cadmin]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin, rulesengine]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin, rulesengine, Fadmin]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin, rulesengine, Fadmin, genadmin]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin, rulesengine, Fadmin, genadmin, Gadmin]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin, rulesengine, Fadmin, genadmin, Gadmin, Hadmin-EU]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin, rulesengine, Fadmin, genadmin, Gadmin, Hadmin-EU, Padmin]
[Aadmin, Badmin, Badminimage, batch, Cadmin, Dadmin, Eadmin, rulesengine, Fadmin, genadmin, Gadmin, Hadmin-EU, Padmin, IAA]
請任何人都可以解釋爲什麼arraylist行爲扼殺。
更新:預期的結果是第一個輸出。
你能解釋一下你期望的結果是什麼呢?我看不到這個錯誤,因爲它看起來像是代碼中出現的結果。 – Stmated 2012-03-13 08:57:59
是,什麼是你提的陌生感,案例1:你剛剛打印rs.getString(1)。而在個案2您已經添加rs.getString(1)至baseColumnList和打印在每個迭代ArrayList中的所有元素。 – namalfernandolk 2012-03-13 09:02:34
從arraylist打印時,我需要結果作爲第一個輸出 – developer 2012-03-13 09:04:15