[英]How to generate getters and setters in eclipse for mutable objects?
我最近发现的声纳问题之一是“恶意代码漏洞-通过合并对可变对象的引用可能暴露内部表示形式”
例如,理想情况下,Eclipse应该为日期生成setter,如下所示
public void setBillDate(Date billDate) {
this.billDate = (Date)billDate.clone();
}
如何强制Eclipse生成这样的代码?
Window -> Preferences -> Java -> Code Style -> Code Templates
启用项目特定设置
您会看到“ Setter Body”,编辑:
${field} = ${param};
您需要的代码可能写为
try {
${field} = ${param}.getClass().cast( ${param}.clone() );
} catch( CloneNotSupportedException cnse ){
// whatever
}
我承认我不知道参数类是否有模板变量。 调查...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.