打破一成不变的方法有多少种?

时间:2019-06-05 09:16:26

标签: java immutability final

假设我有一个仅通过遵循以下步骤就变得不可变的类。

  1. 将类标记为final,其中有两个字段,一个是String,另一个是List类型。
  2. 将字段标记为私有,但不是最终字段。
  3. 通过传递的参数在构造函数中创建一个新的ArrayList,并将其分配给私有List字段。
  4. 使“列表”字段的吸气剂始终返回深度复制。
  5. 仅通过“返回名称”返回String字段。

据我了解,我已将该类设置为不可变的,并且其实例无法更改。

但是仍然可能存在漏洞,安全问题以及可以破坏/破坏/侵犯此类不变性的方法。

0 个答案:

没有答案