gpt4 book ai didi

groovy - 在 Groovy 中使对象不可变

转载 作者:行者123 更新时间:2023-12-02 02:48:33 24 4
gpt4 key购买 nike

在 Groovy 中,我可以通过以下方式使对象不可变:

@Immutable 
class MyObject {
...
}

但是,如果 MyObject 具有对可变对象的引用,如

@Immutable 
class MyObject {
MutableObject mutableObject
}

我不能。我得到:

classes only support properties with effectively immutable types including

但是,即使 myObject 有一个 MutableObject,对它的引用也永远不会改变。

我可以做些什么来使 MyObject 尽可能不可变吗?

最佳答案

如果您确定 MutableObject 实际上是不可变的,您可以这样做

@Immutable( knownImmutableClasses=[ MutableObject ] )
class MyObject {
MutableObject mutableObject
}

如果这是一个谎言并且 mutableObject 会发生变化,那么显然必须小心;-)

关于groovy - 在 Groovy 中使对象不可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21454901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com