1. 当需要时采用保护性拷贝
当我们需要某一个类是immutable的时候,如果我们必须对外界提供对象某个域的引用,或者必须使用外界提供的对象初始化值域,此时应该采用保护性拷贝。
2. 不安全的代码:
3. 安全的代码:
4. 不能使用clone方法进行初始化的方法是因为Date类本身不是final。因此如果用户传入一个邪恶目的的Date实例时,无法起到保护目的。
1. 当需要时采用保护性拷贝
当我们需要某一个类是immutable的时候,如果我们必须对外界提供对象某个域的引用,或者必须使用外界提供的对象初始化值域,此时应该采用保护性拷贝。
2. 不安全的代码:
3. 安全的代码:
4. 不能使用clone方法进行初始化的方法是因为Date类本身不是final。因此如果用户传入一个邪恶目的的Date实例时,无法起到保护目的。