Reputation: 142
i am trying to print arrayList but i am getting something like this.
[[Ljava.lang.String;@506c589e, [Ljava.lang.String;@69d0a921, [Ljava.lang.String;@446cdf90]
I also tried but no result.
Arrays.toString(list.get(0))
Please help.
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;
}
Upvotes: 2
Views: 4596
Reputation: 4967
Since you are already working with arrays, you may consider this method which will allow you to avoid writing a hand-coded loop:
System.out.println(Arrays.deepToString(list.toArray()));
Upvotes: 5
Reputation: 487
You can try this
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;
}
Upvotes: -1
Reputation: 79875
The easiest way to print that list is to iterate through it. Remember that each element of that list is itself an array, so you'll need Arrays.toString
to print it.
List<Object[]> list = new ArrayList<>();
// populate it in here
for(Object[] array : list) {
System.out.println(Arrays.toString(array));
}
Upvotes: 3