我最近发现的一个声纳问题是 "恶意代码漏洞 - 可能通过引用可变对象"
来公开内部表示例如,理想情况下,Eclipse应生成日期的setter,如下所示
public void setBillDate(Date billDate) {
this.billDate = (Date)billDate.clone();
}
如何强制Eclipse生成这样的代码?
答案 0 :(得分:0)
Window -> Preferences -> Java -> Code Style -> Code Templates
启用项目特定设置
你会看到“Setter Body”,编辑:
${field} = ${param};
您需要的代码可能写成
try {
${field} = ${param}.getClass().cast( ${param}.clone() );
} catch( CloneNotSupportedException cnse ){
// whatever
}
我承认我不知道参数类是否有模板变量。调查...