如何将不可变类包装在可变类中?
例如,包裹Integer
和String
并创建MutableInteger
和MutableString
。
似乎有各种方法可以做到这一点。我希望在保持可读性的同时减少编码方面的工作量。
答案 0 :(得分:1)
您可能有一个 mutable companion 类,它可以看到不可变对象的内部,并提供公共mutator方法。实现这一目标的最佳方法是使mutable伴侣成为不可变类中的嵌套类。
但是,不要期望实际改变JDK的标准类,如Integer
或String
。这是不可能的。您只能编写外观类,以便在发生突变时用新的内容替换其内部String
或Integer
。