java结果集到通用列表中
我需要在列表中添加一个结果集。传递给该方法的字符串是一个SQL select语句。DB连接方法与这个类中的所有其他方法都能完美地工作,所以这不是问题所在。我知道我可以用List替换一些ArrayList声明,但我认为在这种情况下这并不重要
public static ArrayList<ArrayList> selectStatement(String string) throws SQLException {
ArrayList<ArrayList> listOfLists = null;
ArrayList list;
String[] record = null;
try {
rs = null;
dBConnectionOpen();
rs = st.executeQuery(string);
ResultSetMetaData metaData = rs.getMetaData();
int columns = metaData.getColumnCount();
while (rs.next()) {
list = null;
record = new String[columns];
for (int i = 1; i < columns; i++) {
record[i - 1] = rs.getString(i);
}
list = new ArrayList(Arrays.asList(record));
listOfLists.add(list);
}
} catch (Exception e) {
} finally {
dBConnectionClose();
}
return listOfLists;
}
我以前做过,但由于某种原因,这一次根本不起作用。我错过了什么
# 1 楼答案
用
null
值初始化listOfLists
。尝试从一开始就实例化它:而且,这样更好:
List
接口而不是普通的ArrayList
类实现List<String>
代替原始List
李>String[] record
,而是直接将数据保存在List<String>
中李>List<String> list
可以直接在while
循环中李>知道了这一点,代码可以更改为:
更多信息: