不变的可变的

时间:2012-10-17 12:04:42

标签: java immutability mutable

如何将不可变类包装在可变类中? 例如,包裹IntegerString并创建MutableIntegerMutableString

似乎有各种方法可以做到这一点。我希望在保持可读性的同时减少编码方面的工作量。

1 个答案:

答案 0 :(得分:1)

您可能有一个 mutable companion 类,它可以看到不可变对象的内部,并提供公共mutator方法。实现这一目标的最佳方法是使mutable伴侣成为不可变类中的嵌套类。

但是,不要期望实际改变JDK的标准类,如IntegerString。这是不可能的。您只能编写外观类,以便在发生突变时用新的内容替换其内部StringInteger