【发布时间】:2015-10-29 01:58:49
【问题描述】:
我创建了一个带有日期字段的不可变类。我如何确保即使日期字段也是不可变的,因为即使您将日期字段设为最终字段,您以后仍然可以为其分配不同的值?
【问题讨论】:
-
除了建议或暗示对日期使用 getter 的答案之外,请确保您的日期字段是私有的,以便其他类无法修改它。
-
如果用户将不同的值分配给他们从中获得的日期变量,这不会改变您在班级中的日期值
-
@MadProgrammer True,但是 getter 返回的 Date 不是不可变的。这就是为什么在 getter 中复制它很重要。
-
@McBrainy 是的,那部分是真的,但这不是你的问题所说的;)
标签: java immutability