代码如下:               
                  List<TBFinance> flist = new ArrayList<TBFinance>();
TBFinance f = new TBFinance();
ResultSet rs = getRS(sql);
try{
if(rs!=null){
while (rs.next()){

f.setAmount(rs.getFloat("amount"));
f.setDate(rs.getDate("date"));
f.setDescription(rs.getString("description"));
f.setItem(rs.getString("item"));
flist.add(f);

System.out.println(flist.get(0).getItem());
}
}
}catch(SQLException e){
e.printStackTrace();
}

return flist;比如加入1,2,3 三个对象,第一次循环是flist.get(0)-->1;第二次循环是flist.get(0)-->2 flist.get(1)-->2;第三次3个对象就都成3了。flist.get(0)-->3 flist.get(1)-->3 flist.get(2)-->3.
有哪位知道是什么原因么?