在Groovy中,我可以通过以下方式使对象不可变:
@Immutable
class MyObject {
...
}
但是,如果MyObject有对可变对象的引用,例如
@Immutable
class MyObject {
MutableObject mutableObject
}
我做不到。会得到以下错误:
classes only support properties with effectively immutable types including
但是,即使我的对象具有MutableObject,对它的引用也永远不会改变。
有没有什么方法可以尽可能地使MyObject
成为不可变的?