提问人:Wizzard 提问时间:7/25/2014 最后编辑:barfuinWizzard 更新时间:7/28/2014 访问量:566
Findbug 不可变日期修复不起作用
Findbug immutable date fixes do not work
问:
我有 maven findbug 插件版本 2.5.4,在我的代码中它显示错误:
.getDateRlpx() may expose internal representation by returning Price.dateRlpx
.setDateRlpx(Date) may expose internal representation by storing an externally mutable object into Price.dateRlpx
但是,在我的代码中,我使用:
public Date getDateRlpx() {
return DateUtil.immutableDate(dateRlpx);
}
public void setDateRlpx(final Date dateRlpx) {
this.dateRlpx = DateUtil.immutableDate(dateRlpx);
}
还有我的不可变日期:
public static Date immutableDate(final Date sourceDate) {
if (sourceDate == null) {
return null;
}
return new Date(sourceDate.getTime());
}
为什么 findbug 显示此错误?我创建了一个新的 Date 对象。我什至尝试了简单的退货,但它也没有用。我找不到任何解决方案。new Date(dateRlpx.getTimes())
答:
2赞
Wizzard
7/28/2014
#1
是的,托马斯是对的,这是环境问题,特别是从 IDEA IDE 运行 tomcat 服务器,它以某种方式阻止了 findbug 检查固定的源代码,而是检查了目标目录或 .war 中的那个我没有检查它确定。所以现在一切都在工作,findbug 同意 new Date(date.getTime()) 是一个解决方案:)
评论