- 情况一:
activity1中有个list集合,list包含多个数据对象;然后从activity1跳到activity2,并且把list中的第一个object传给activity2,分别在activity1和activity2中打印出list中的第一个
object的hash值,结果不一样;
结论:list中的object在activity间传递的是object的备份数据
- 情况二:
通过情况1可以猜想:当把一个list集合从一个activity传递到另一个activity的时候,两个activity中的list集合在内存中指向的也不是同一个数据;即第二个activity中的list数据是第一个activity list数据的复制拷贝。所以在第二个activity中对通过对getIntent().getExtra()得到的数据进行修改更新并不会影响到activity1的list数据。事实上通过测试打印的hashcode值不一样也可以看出猜想是对的。
结论:list在activity间传递也是备份数据
注:以上只是为了个人研究做个记录,因为有时自己真的有点迷糊数据的指向。