开发者社区 问答 正文

一个用intent传递对象的疑问

我写了两个Activity,一个是MainActivity,里面通过intent把一个实体类User对象传递过去
screenshot
另一个TwoActivity里面,接收这个User对象:
Intent intent = this.getIntent();
User user = (User) intent.getSerializableExtra("user");

Log.d("two", user+"");

问题:打印出来的两个user竟然不是同一个地址?这也就是意味着user被传递过去竟然不是同一个对象了?这个我实在不是很理解,这怎么想都有点不科学啊,求解答。

展开
收起
蛮大人123 2016-02-20 14:39:57 2459 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    可以这样理解,当把一个对象从一个地方传到另一个地方,传递的不是引用,它的地址肯定会改变,世界上没有两个相同的地址。更深层次理解应该是传递前的处理:传递前根据该对象序列化,接收后反序列化再重新生成该对象,根据序列化和反序列化的规则,某些特征应该是一样的,包括值。

    2019-07-17 18:45:19
    赞同 展开评论
问答地址: