Java 如何使用同一引用变量在不同时间存储多个对象,而不会对以前存储的对象造成任何影响?

Java 如何使用同一引用变量在不同时间存储多个对象,而不会对以前存储的对象造成任何影响?,java,Java,假设我有4个以前实例化过的对象,分别称为o1,o2,o3,o4,类型为T。 我还有一个名为vForAll的参考变量,类型为T。 首先,我将o1存储在vForAll中作为 VForAll = o1; 然后我想将o2存储在vForAll中,而不对o1对象产生任何影响,依此类推! 我能做什么?如果我正确理解了这个问题,如果o1、o2、o3、o4只是参考类型,那么做vForAll=o2就可以了。不会修改o1。如果我正确理解了问题,如果o1、o2、o3、o4只是参考类型,那么执行vForAll=o2应该

假设我有4个以前实例化过的对象,分别称为
o1
o2
o3
o4
,类型为
T
。 我还有一个名为
vForAll
的参考变量,类型为
T
。 首先,我将o1存储在vForAll中作为

VForAll = o1;
然后我想将
o2
存储在
vForAll
中,而不对
o1
对象产生任何影响,依此类推!
我能做什么?

如果我正确理解了这个问题,如果
o1、o2、o3、o4
只是参考类型,那么做
vForAll=o2
就可以了。不会修改
o1

如果我正确理解了问题,如果
o1、o2、o3、o4
只是参考类型,那么执行
vForAll=o2
应该可以。不会修改
o1

执行vForAll=o2时,vForAll将不再指向o1,而是指向o2。您现在所做的任何更改都只会影响o2


如果要在这之后更改o1,只需执行vForAll=o1。

当您执行vForAll=o2时,vForAll将不再指向o1,而是指向o2。您现在所做的任何更改都只会影响o2


如果要在这之后更改o1,只需执行vForAll=o1。

您刚才所说的不会影响以前的值。所以照你说的做。你可以试着用一个地图。你刚才说的不会影响以前的值。所以照你说的做。你可以试着使用地图。只要确保保留对这些对象的其他引用,否则它们会被垃圾收集。它会将o2更改为o1吗?@LakshithaKanchana抱歉,我不确定你在这里的意思。但是,测试程序的最佳方法是运行代码并测试它是否正常工作。请确保保留对这些对象的其他引用,否则它们将被垃圾收集。它是否会将o2更改为o1?@LakshithaKanchana抱歉,我不确定您在这里的意思。然而,测试程序的最佳方法是运行代码并测试它是否正常工作。