Groovy(或 Java)- 通过引用传递到包装器对象中

2023-12-13

在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(使用前将#替换为@)

Groovy(或 Java)- 通过引用传递到包装器对象中 的相关文章

随机推荐