将一个对象放在一个list中,在将这个对象的属性改变,再放入这个list中,这个list中的对象属性是不是一样的呢
user对象实体:
public class User implements Serializable
{
/**
*注释内容
*/
private static final long serialVersionUID = -7674410922088958275L;
//姓名
private String name;
//性别
private String sex;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getSex()
{
return sex;
}
public void setSex(String sex)
{
this.sex = sex;
}
@Override
public String toString()
{
return "User [name=" + name + ", sex=" + sex + "]";
}
}
//**改变属性放在同一个list中
public class TestChangeUser
{
public static void main(String args[])
{
User user=new User();
List<User>userList=new ArrayList<User>();
user.setName("呵呵");
user.setSex("男");
userList.add(user);
user.setName("嘻嘻");
user.setSex("女");
userList.add(user);
for(User userInfo:userList)
{
System.out.println(userInfo);
}
}
}
输出的结果会是: User [name=嘻嘻, sex=女]
User [name=嘻嘻, sex=女]
这个是因为改变前后的user对象始终指向同一个内存区域