关于java变量的一个疑问
这个函数为常见的去列表的函数:
如下,便是取1~50的对象
public ArrayList getResList(long begin, long end, String orderby,
String ordertype) {
ArrayList list = new ArrayList();
ResBase res = null;
...
while(rs.next()) {
res = new ResBase();
res.setResid(i);
res.setTitle("title");
res.setDescribe("descripe");
list.add(res);
res=null;
}
return list;
}
疑问:list.add(res);这句吧对象加到列表中,因为res对象是在循环外定义的。我想,最后加到
列表中的元素应该全部是rs结果集最后一条new出来的(每一个res都指向res的地址)。
但是,我把列表中的值打印出来,却发现不是这样的?为什么?list.add动作难道做了拷贝操作吗?