我想将我在数据库中拥有的所有数据放在ArrayList中。
ResultSet rs = callableStatement.executeQuery();
ArrayList<Object> list = new ArrayList<Object>();
List<ArrayList> table = null;
while (rs.next()) {
for (int i = 1; i < rs.getMetaData().getColumnCount() + 1; i++) {
System.out.print(" " + rs.getMetaData().getColumnName(i) + "=" + rs.getObject(i));
String data = rs.getString(i);
list.add(data);
}
table.add(list);
System.err.println(table);
}
我正在打印数据库中的所有数据。我的问题是我得到了
java.lang.NullPointerException
答案 0 :(得分:1)
也许,你应该这样做,在你的代码中,你只需要在list
while (rs.next()) {
for (int i = 1; i < rs.getMetaData().getColumnCount() + 1; i++) {
System.out.print(" " + rs.getMetaData().getColumnName(i) + "=" + rs.getObject(i));
String data = rs.getString(i);
list.add(data);
}
}
for (Object obj : list) {
System.out.println(obj.toString())
}
如果要打印第9列,则应执行以下操作
while (rs.next()) {
System.out.println(rs.getString(9))
}
或
while (rs.next()) {
for (int i = 1; i < rs.getMetaData().getColumnCount() + 1; i++) {
System.out.print(" " + rs.getMetaData().getColumnName(i) + "=" + (i));
if (i == 9) {
String data = rs.getString(i);
list.add(data);rs.getObject
}
}
}
for (Object obj : list) {
System.out.println(obj.toString())
}
答案 1 :(得分:1)
我正在打印数据库中的所有数据。我的问题是我得到了
显示java.lang.NullPointerException
List<ArrayList> table = null;
后跟
table.add(list);
没有初始table
喜欢
table = new ArrayList<ArrayList>(); //Consider some rework here ;)
将导致npe