我认为这里的关键是 如果 :
如果实例是由不受信任的代码访问的,并且对可变对象的未经检查的更改会损害安全性或其他重要属性,那么您将需要做一些不同的事情。
换句话说, 如果 您想要一个不可变的对象(即您没有
setBirthdate()方法),则您的代码是不正确的,因为有人可以编写:
Date date = user.getBirthDate();date.setMonth(1); // mutated!
因此,您可能需要以下内容:
public Date getBirthDate(){return new Date(birthDate.getTime());} // essentially a clone
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)