首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

将一个对象放在一个list中,在将这个对象的属性改变,再放入这个list中,这个list中的对象属性是否一样的呢

2012-09-10 
将一个对象放在一个list中,在将这个对象的属性改变,再放入这个list中,这个list中的对象属性是不是一样的呢

将一个对象放在一个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对象始终指向同一个内存区域

热点排行