gpt4 book ai didi

java - 如何在 Eclipse 中为可变对象生成 getter 和 setter?

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:25 28 4
gpt4 key购买 nike

我最近发现的声纳问题之一是“恶意代码漏洞 - 可能通过合并对可变对象的引用来暴露内部表示”

例如,理想情况下 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
}

我承认我不知道参数类是否有模板变量。正在调查...

关于java - 如何在 Eclipse 中为可变对象生成 getter 和 setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28514763/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com