繁体   English   中英

如何在蚀中为可变对象生成获取器和设置器?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM