我有一个对象列表。一旦创建,列表不会改变 - 但是对象属性的值将会改变。保持列表中对象“指针”的最佳方式是什么?
我需要在任何时候在列表中维护两个“指针”。例如,“这个”,“那个”
我能做到这一点仅仅是保持两个数字指标:
this=3
that=7
doSomething(mylist[this])
doSomethingElse(mylist[that])
this=9
doSomethingNew(mylist[this])
或者,我可以通过引用而不是对象做到这一点? e.g像
this=mylist[3]
that=mylist[7]
doSomething(this)
doSomethingElse(that)
this=mylist[9]
doSomethingNew(this)
将在“此”影响到列表中的对象,而不是它的一个副本,所有的操作即更改将被保留?
依赖于在该列表中的对象。如果它是不可变的,那么你不应该担心,如果它是可变的,你传递的是对象的引用,并且你不能有任何*保证对象状态不变* –
什么样的对象是这些?如果类定义是你的,请将其添加。 –
对象的属性值将随时间而改变。 –