我正在尝试打印ArrayList,但我得到了这样的东西。
[[[ljava.lang.string;@@506c589e,[ljava.lang.string;@69d0a921, [ljava.lang.string;@446cdf90]
我也尝试过,但没有结果。
arrays.tostring(list.get(0))
请帮助。
public ArrayList getByName(String name) {
try {
preSt = con.prepareStatement("SELECT * FROM DATA WHERE name=?");
preSt.setString(1, name);
rs = preSt.executeQuery();
ArrayList list = new ArrayList();
int i = 0;
while(rs.next()) {
Object[] temp = new String[3];
temp[0] = rs.getString("name");
temp[1] = rs.getString("surname");
temp[2] = rs.getString("age");
list.add(i, temp);
i++;
}
System.out.println(list);
return list;
} catch (Exception ex) {
System.out.println("Error: "+ex);
}
return null;
}
由于您已经在使用数组,因此您可以考虑此方法,该方法允许您避免编写手工编码的循环:
System.out.println(Arrays.deepToString(list.toArray()));
打印该列表的最简单方法是通过它迭代。请记住,该列表的每个元素本身都是一个数组,因此您需要Arrays.toString
才能打印它。
List<Object[]> list = new ArrayList<>();
// populate it in here
for(Object[] array : list) {
System.out.println(Arrays.toString(array));
}
您可以尝试此
public ArrayList getByName(String name) {
try {
preSt = con.prepareStatement("SELECT * FROM DATA WHERE name=?");
preSt.setString(1, name);
rs = preSt.executeQuery();
ArrayList list = new ArrayList();
int i = 0;
while(rs.next()) {
Object[] temp = new String[3];
temp[0] = rs.getString("name");
temp[1] = rs.getString("surname");
temp[2] = rs.getString("age");
list.add(i, temp);
i++;
}
for(int i=0;i<list.size();i++){
System.out.println(list[i]);
}
return list;
} catch (Exception ex) {
System.out.println("Error: "+ex);
}
return null;
}