如何在结果集的数组列表中存储2个整数以及如何检索它。 我试图将2整数存储到我的数组列表中,我不知道是否正确,因为当我尝试检索它时,它会输出这样的内容 ' tryCheckout $ @结帐4f4fffa4'多谢你们。到目前为止,这是我的代码。
public class checkout{
public int roomtypeid,itemid;
}
ArrayList<checkout> returncheckout = new ArrayList<checkout>();
try{
*String query ="select ri.item_id, ri.roomtype_id from roomtype_tb as rt , roomtypeitem_tb as ri , room_tb as r , reserverooms_tb as rr where rt.roomtype_id = r.roomtype_id and rt.roomtype_id = ri.roomtype_id and ri.roomtype_id = r.roomtype_id and r.room_id = rr.room_id and rr.reservation_id = 10";
PreparedStatement pst =conn.prepareStatement(query);
ResultSet rs = pst.executeQuery();
while(rs.next())
{
checkout out = new checkout();
out.roomtypeid = rs.getInt("ri.roomtype_id");
out.itemid = rs.getInt("ri.item_id");
returncheckout.add(out);
}
returncheckout.forEach(System.out::println);
}catch(Exception e)
{
e.printStackTrace();
}*
答案 0 :(得分:0)
在checkout类中重写toString()方法。这是一个特殊的方法,当一个对象传递给System.out.println时会被调用。它看起来像这样:
@Override
public String toString()
{
return "roomType=" + roomType + ", id=" + id;//Not sure what your variables are. You will need to change this line
}
我认为您的代码正在执行您想要的操作,您只需要使用toString()方法将结果打印出来就像您想要的那样。
答案 1 :(得分:0)
我没看到你的结账课。现在我做。将其更改为
public class checkout{
public int roomtypeid,itemid;
@Override
public String toString()
{
return "roomtypeid =" + roomtypeid + ", itemid=" + itemid;
}
}
答案 2 :(得分:0)
Java实际上是返回对象checkout
的内存地址。这是输出到屏幕的奇怪数字。将这样的内容添加到checkout
类。
public class checkout{
public int roomtypeid, itemid;
@Override
public String toString()
{
return "Room Type ID: " + roomtypeid + " Item ID: " + itemid";
}
}
打印对象时调用toString()
方法。