通过 bundle 传递的 parcelable 对象是否与原始对象相同?

Is parcelable object passed through bundle same as original one?

这件事困扰了我一段时间。

如果我们 activity 中有某种 Parcelable 对象,并且我们使用 Bundle 将其传递给 fragment,我一直认为我们在 fragment 中接收到的对象实际上是一个新对象。然而,经过运行今天的一些测试,似乎片段中的对象实际上与activity中的对象相同。

对吗?

编辑:小说明。我没有提到对象的值。我指的是'=='比较。

当你制作你的对象 Parcelable 然后你使用 Intent 将它传递到另一个 activity 时,就像这样:

Intent i = new Intent();
i.putExtra("name_of_extra", myParcelableObject);

您在另一个 activity 或片段中收到的对象正是您之前传递给它的对象。 您可以通过这种方式接收对象:

Intent i = getIntent();
MyParcelable myParcelableObject = (MyParcelable)i.getParcelableExtra("name_of_extra");