在Java(或Groovy)中是否可以通过引用将对象传递到包装对象(即:List 或Map)中?
示例代码(Groovy 中):
def object = null
def map = [object: object]
object = new Object()
不幸的是,即使 object 变量没有,map.object 仍然为空,所以显然地图的原始创建是通过值而不是通过引用完成的。
是否可以通过引用创建 List 或 Map,以便当 List 或 Map 外部的对象更改时,更改会反映在包装对象内部?
不,你真的不能那样做。根据您真正想要做的事情,这样的事情可能会有所帮助:
class MyWrapper {
def wrappedValue
}
def object = new MyWrapper()
def map = [object: object]
object.wrappedValue = 'This is a new value'
assert map.object.wrappedValue == 'This is a new value'
那当然是 Groovy 代码。您可以在 Java 中做同样的事情,只需多编写一点代码即可。这个想法是一样的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)