我正在尝试打印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;
}
答案 0 :(得分:3)
打印该列表的最简单方法是迭代它。请记住,该列表的每个元素本身都是一个数组,因此您需要Arrays.toString
来打印它。
List<Object[]> list = new ArrayList<>();
// populate it in here
for(Object[] array : list) {
System.out.println(Arrays.toString(array));
}
答案 1 :(得分:1)
由于您已经在使用数组,因此您可以考虑使用此方法来避免编写手动编码循环:
System.out.println(Arrays.deepToString(list.toArray()));
答案 2 :(得分:-1)
你可以试试这个
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;
}