请求各位解答疑惑,!

ArrayList<user> list=new ArrayList<user>();
        while(rs.next()){
            user u=new user();
            u.setId(rs.getInt("id"));
            u.setName(rs.getString("name"));
            u.setPassword(rs.getString("password"));
            u.setEmail(rs.getString("email"));
            u.setBirthday(rs.getDate("birthday"));
            //将对象添加到集合中
            list.add(u);

这段代码中user u=new user();放在循环外面跟放在虚幻里面有什么区别,为什么要放在循环里面?

放在循环外面,只有一个对象,list所有元素的值都一样,确保元素值不一样,必须在循环内部new,不同元素不同对象。

  • 放在循环内部,每次迭代都会创建一个新的 user 对象,这样添加到 list 中的就是满足要求的不同的 user 对象。
  • 放在循环外部,每次迭代使用的 user 对象都是同一个,会导致 list 中添加的是同一个对象。