1. 当需要时采用保护性拷贝
当我们需要某一个类是immutable的时候,如果我们必须对外界提供对象某个域的引用,或者必须使用外界提供的对象初始化值域,此时应该采用保护性拷贝。
2. 不安全的代码:
3. 安全的代码:
4. 不能使用clone方法进行初始化的方法是因为Date类本身不是final。因此如果用户传入一个邪恶目的的Date实例时,无法起到保护目的。
本文探讨了在Java中实现不可变类时使用保护性拷贝的重要性,通过对比安全与不安全代码示例,解释了如何防止外部对象改变内部状态。
1. 当需要时采用保护性拷贝
当我们需要某一个类是immutable的时候,如果我们必须对外界提供对象某个域的引用,或者必须使用外界提供的对象初始化值域,此时应该采用保护性拷贝。
2. 不安全的代码:
3. 安全的代码:
4. 不能使用clone方法进行初始化的方法是因为Date类本身不是final。因此如果用户传入一个邪恶目的的Date实例时,无法起到保护目的。

被折叠的 条评论
为什么被折叠?
