intent传对象到另一个activity是传递的地址值还是复制一份再传递归去的

 我来答
百度网友03677c4
2013-04-18 · TA获得超过306个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:149万
展开全部
基本类型传递的是值,引用类型传递的是引用,即对象的地址,即如果修改了传递过来的对象,就相当于把引用的那个地址所对应的对象修改了。
引用类型可以这么理解,对象就是一间房子,这个房子里有椅子、桌子等属性,对象的引用就相当于房子的钥匙,必须通过钥匙去修改这个房子的属性(或者其他的),传递对象就相当于复制了一把钥匙给了别人,别人修改接收到的这个对象,也就是修改了房子,也就是说原来的对象也被修改了。

我错了。
以上这些适用于方法传参数,参数如果是引用型的话。
昨天已经经过测试,Intent之间传递对象的引用,其实是将对象拷贝了一份,然后将拷贝的对象的引用传递过去了,也就是说传递后得到的对象不是原对象本身,而只是传递之前的对象的拷贝,传递之后修改任意一个对象,都不会影响另外一个对象。
老人与海2120
2012-01-04 · TA获得超过467个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:211万
展开全部
传递的是对象本身。要不然也不用实现传递对象的特殊方法。
ps:
Android中Intent中如何传递对象,有两种方法,一种是 Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miho蓓
2012-01-05 · TA获得超过1089个赞
知道小有建树答主
回答量:984
采纳率:0%
帮助的人:538万
展开全部
告诉你一个真理。
记住了 在java中 只有值传递 没有 址传递的。
基本类型传递的是值的副本,
引用类型传递的是引用的副本。

传的都是副本,所以你修改传过去的对象,也不会使源对象发生变化。
如果觉得有点抽象的话 我也帮不了太多了 先记住,久而久之 就会消化的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式