Effective Java 学习笔记第24条 --- 需要时使用保护性拷贝
假设类的使用者会尽一切手段来破坏这个类的约束条件,在这样的前提下,你必须保护性地设计程序。面对客户的不良行为时仍然能保持健壮性的类。
对于一个非可变类,可以考虑对其构造函数的可变参数采用保护性拷贝,如
public Date getStart(){ return (Date)start.clone(); } public Date getStart(){ return (Date)start.clone();} 记住非零长度的数组总是可变的,尽量使用非可变的对象作为内部组件,这样就不必关心保护性拷贝问题.
?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ilibaba/archive/2009/04/02/4042722.aspx
?