intent传对象到另一个activity是传递的地址值还是复制一份再传递归去的
3个回答
展开全部
基本类型传递的是值,引用类型传递的是引用,即对象的地址,即如果修改了传递过来的对象,就相当于把引用的那个地址所对应的对象修改了。
引用类型可以这么理解,对象就是一间房子,这个房子里有椅子、桌子等属性,对象的引用就相当于房子的钥匙,必须通过钥匙去修改这个房子的属性(或者其他的),传递对象就相当于复制了一把钥匙给了别人,别人修改接收到的这个对象,也就是修改了房子,也就是说原来的对象也被修改了。
我错了。
以上这些适用于方法传参数,参数如果是引用型的话。
昨天已经经过测试,Intent之间传递对象的引用,其实是将对象拷贝了一份,然后将拷贝的对象的引用传递过去了,也就是说传递后得到的对象不是原对象本身,而只是传递之前的对象的拷贝,传递之后修改任意一个对象,都不会影响另外一个对象。
引用类型可以这么理解,对象就是一间房子,这个房子里有椅子、桌子等属性,对象的引用就相当于房子的钥匙,必须通过钥匙去修改这个房子的属性(或者其他的),传递对象就相当于复制了一把钥匙给了别人,别人修改接收到的这个对象,也就是修改了房子,也就是说原来的对象也被修改了。
我错了。
以上这些适用于方法传参数,参数如果是引用型的话。
昨天已经经过测试,Intent之间传递对象的引用,其实是将对象拷贝了一份,然后将拷贝的对象的引用传递过去了,也就是说传递后得到的对象不是原对象本身,而只是传递之前的对象的拷贝,传递之后修改任意一个对象,都不会影响另外一个对象。
展开全部
传递的是对象本身。要不然也不用实现传递对象的特殊方法。
ps:
Android中Intent中如何传递对象,有两种方法,一种是 Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口。
ps:
Android中Intent中如何传递对象,有两种方法,一种是 Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
告诉你一个真理。
记住了 在java中 只有值传递 没有 址传递的。
基本类型传递的是值的副本,
引用类型传递的是引用的副本。
传的都是副本,所以你修改传过去的对象,也不会使源对象发生变化。
如果觉得有点抽象的话 我也帮不了太多了 先记住,久而久之 就会消化的。
记住了 在java中 只有值传递 没有 址传递的。
基本类型传递的是值的副本,
引用类型传递的是引用的副本。
传的都是副本,所以你修改传过去的对象,也不会使源对象发生变化。
如果觉得有点抽象的话 我也帮不了太多了 先记住,久而久之 就会消化的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询