有关LIST存储的问题

cstlovewzy 2010-10-15 12:52:45
// 查---->读者、管理员查询已借阅的书籍
public List query(String userid,String yujie){
int i=0;
ResultSet rs=null;
ResultSet rs1=null;
Borrow borrow=new Borrow();
Book book=new Book();
List borrowlist=new ArrayList();
String sql="select * from borrow where userid='"+userid+"' and yujie='"+yujie+"'";
String book_id="";
rs=db.executeQuery(sql);
try {
while(rs.next()){
book_id=rs.getString("book_id");
borrow.setBook_id(book_id);
borrow.setUserid(rs.getString("userid"));
borrow.setFirstday(rs.getString("firstday"));
borrow.setDays(rs.getInt("days"));
borrow.setYujie(rs.getString("yujie"));
sql="select * from book where book_id="+book_id;
rs1=db.executeQuery(sql);
if(rs1.next()){
borrow.setTitle(rs1.getString("title"));
borrow.setAuthor(rs1.getString("author"));
borrow.setPresser(rs1.getString("presser"));
borrow.setStore_place(rs1.getString("store_place"));
borrow.setTotal(rs1.getInt("total"));
}
borrowlist.add(i,borrow);
i++;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return borrowlist;
}
为什么borrowlist里的内容全是一样的。。。。???
...全文
78 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinghun8leech 2010-10-15
  • 打赏
  • 举报
回复
import java.util.*;

public class ListTest {
public static void main(String [] args) {
List<Person> persons1 = new ArrayList<Person>(5);
Person personOnlyOne = new Person();
for (int i=0;i<5;i++) {
//每次都对该句柄指向的对象进行修改,并置入list中,那么list中最终所有的
//Person对象都是同一个对象,自然也就一改全改了
personOnlyOne.setName("person_" + i);
persons1.add(personOnlyOne);
}
System.out.println(persons1);
//比较这两个对象的内存地址,结果显示这两个对象其实是同一个对象
System.out.println(persons1.get(0) == persons1.get(1));

List<Person> persons2 = new ArrayList<Person>(5);

for (int i=0;i<5;i++) {
Person person = new Person();
person.setName("person_" + i);
persons2.add(person);
}
System.out.println(persons2);
System.out.println(persons2.get(0) == persons2.get(1));
}
}
class Person {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override public String toString() {
return name;
}
}
liufeng0209 2010-10-15
  • 打赏
  • 举报
回复
循环里嵌套循环,强烈你建议你这么做
hjx_gb2000 2010-10-15
  • 打赏
  • 举报
回复
Borrow 对象放到while循环里面new

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧