首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >抑制Java Findbugs错误(EI_EXPOSE_REP)

抑制Java Findbugs错误(EI_EXPOSE_REP)
EN

Stack Overflow用户
提问于 2011-03-29 20:13:59
回答 2查看 9.1K关注 0票数 6

我有一个如下所示的Java gettor方法:

代码语言:javascript
运行
复制
import java.util.Date;
//...
public Date getSomeDate() {
  return someDate;
}

Findbugs报告说,这公开了一个可变对象:“可以通过返回对可变对象的引用来公开内部表示”。我将代码更改为:

代码语言:javascript
运行
复制
import java.util.Date;
//...
public Date getSomeDate() {
  return new Date(someDate.getTime());
}

但是Findbug仍然报告了同样的漏洞。我还能做些什么来抑制/修复此问题?我正在运行IntellJ 10FindBugs插件中的Findbugs 1.3.9。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-29 20:16:48

我刚刚意识到Findbugs分析的是编译的代码(.class文件),而不是源代码。在重新构建并重新运行Findbugs之后,这个问题就消失了。

票数 11
EN

Stack Overflow用户

发布于 2013-03-18 18:15:33

不,我们需要使用以下代码克隆该对象:

代码语言:javascript
运行
复制
public Date getSomeDate() {
  return new Date(someDate.getTime()).clone();
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5472299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档