`
拓子轩
  • 浏览: 208111 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

FindBugs警告(may expose internal representation)

    博客分类:
  • java
阅读更多

在编写JavaBean时,如果类内部的成员变量为一个对象类型,用FindBugs扫描后可能会产生如下警告:

M V EI: com.digu.api.db.model.HuotuSnsUserModel.getAddDate() may expose internal representation by returning HuotuSnsUserModel.addDate

 

 

public class StudentBean 
{
	private Date addDate;

	public Date getAddDate() 
	{
		return addDate;
	}

	public void setAddDate(Date addDate) 
	{
		this.addDate = addDate;
	}
}

 

 

为消除警告,可以进行如下修改:

 

public class StudentBean 
{
	private Date addDate;

	public Date getAddDate() 
	{
		if (addDate == null)
		{
			return null;
		}
		return (Date)addDate.clone();
	}

	public void setAddDate(Date addDate) 
	{
		if (addDate == null)
		{
			this.addDate = null;
		} else {
			this.addDate = (Date)addDate.clone();
		}
	}
}

 

测试代码:

 
public static void main(String[] args) throws InterruptedException 
{
 	StudentBean model = new StudentBean();
 	Date date = new Date();
 	model.setAddDate(date);
 	System.out.println(model.getAddDate().getTime());
	Thread.sleep(2000);
 	date.setTime(new Date().getTime());
 	System.out.println(model.getAddDate().getTime());
 }

 

 欢迎加入JAVA技术交流群 328073753

分享到:
评论

相关推荐

    findbugs:may expose internal representation by returning

    本文将深入探讨一个特定的FindBugs警告:“可能通过返回暴露内部表示”,并以`Message.java`文件中的示例来解析这个问题及其解决方案。 “可能通过返回暴露内部表示”这一警告通常出现在我们返回对象内部引用或者...

    findbugs常见Bug以及处理办法

    - **May expose internal representation by incorporating reference to mutable object**:调用set方法,修改对象属性,被修改的对象属性是一个可变的对象。 - **描述**:这通常意味着通过公共接口暴露了内部状态...

    findbug 常见异常处理

    May expose internal representation by incorporating reference to mutable object 描述:调用set方法,修改对象属性,被修改的对象属性是一个可变的对象; May expose internal representation by returning ...

    findbugs工具测试java实验报告

    4. **修复问题**:针对FindBugs报告中的每一个警告,开发者需要仔细检查相关代码,理解警告的原因,并进行相应的修改。例如,如果FindBugs提示可能存在空指针异常,那么就需要检查是否正确地进行了非null检查。 5. ...

    findbugs 1.3.9 findbugs 1.3.9

    - 自定义配置:通过调整设置,如忽略某些错误类型或调整警告级别,以适应项目的具体需求。 总的来说,FindBugs 1.3.9是Java开发者的重要辅助工具,它能够帮助我们提升代码质量,降低维护成本。虽然现在FindBugs已有...

    网络上搜集的Findbugs在Ant下的配置方法

    你可以通过创建一个名为`findbugs-exclude.xml`的文件来排除某些FindBugs警告。这个文件遵循FindBugs的XML配置语法,可以指定类名或包名,以告诉FindBugs不要报告这些类或包中的问题。 ```xml <FindBugsFilter> ...

    findbugs压缩包+findbugs.jar+findbugs-ant.jar

    通过这个插件,开发者可以在编写代码的同时查看FindBugs的警告,提高代码质量。 综上所述,这个压缩包提供了FindBugs的完整环境,包括核心库、Ant任务支持以及Eclipse插件,涵盖了FindBugs的安装、配置、使用和结果...

    findbugs.jar+findbugs-ant.jar

    FindBugs是一款非常知名的静态代码分析工具,它主要用于在Java代码中发现潜在的错误和缺陷。Eclipse是一款广泛使用的集成开发环境(IDE),对于Java开发者来说尤其重要。将FindBugs集成到Eclipse中,可以帮助开发者...

    ecplise插件findbugs2.0

    4. 重启 Eclipse 后,在 "Window" -> "Preferences" -> "FindBugs" 中可以配置插件参数,如设置检测级别、忽略某些警告等。 **3. 使用与解读报告** 在项目中使用 FindBugs 很简单,只需右键点击项目,选择 ...

    findbugs代码检查工具

    - **配置与定制**:FindBugs允许用户自定义错误级别,可以根据项目的具体需求调整哪些问题应该被视为警告,哪些是严重错误。此外,还可以通过XML配置文件排除特定的类或包,避免无用的警告。 - **报告生成**:运行...

    findbugs3.0.2插件 myeclipse

    FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时...

    findbugs1.3.9

    4. **自定义配置**:用户可以根据项目需求调整FindBugs的检查级别和过滤规则,例如忽略某些特定类型的警告,或者针对特定包或类进行更严格的检查。 5. **报告生成**:除了在Eclipse中查看结果,FindBugs还能生成...

    findBugs学习总结

    这些规则涵盖了多种可能的错误模式,例如,如果一个方法声明为非静态,但在使用时被静态调用,findBugs就会发出警告。 **findBugs的使用** 使用findBugs非常简单,可以将其作为命令行工具运行,也可以集成到Eclipse...

    findbugs最新版本 1.3.8

    它能够识别出近400种不同类型的错误模式,这些模式被分类为不同的警告级别,包括"可疑"、"可能"和"肯定"。 2. **集成开发环境(IDE)支持**:edu.umd.cs.findbugs.plugin.eclipse_1.3.8.20090315这个文件名表明该...

    eclipse插件findBugs

    然后,在项目中右键选择"FindBugs",即可进行代码分析,FindBugs会在问题出现的地方标出警告,并提供修复建议。 总的来说,FindBugs插件的安装和使用对于提高代码质量和开发效率具有重要意义。它能够帮助开发者遵循...

    eclipse中findbugs插件

    安装完成后,启动Eclipse,你可以在"Window"菜单中看到"Preferences"选项,点击进入后,进一步找到"FindBugs"的配置,这里可以设置插件的行为,如错误阈值、显示的警告级别等。 在实际使用中,FindBugs插件会自动...

    findbugs最新版本2.0.1

    FindBugs将这些可能的问题分类为不同的警告等级,包括信息(Info)、警告(Warning)和错误(Error),帮助开发者优先处理严重性较高的问题。 在2.0.1版本中,可能包含以下主要更新和改进: 1. **新检测器**:可能...

    Jenkins 与findbugs集成

    例如,可以选择只关注某些特定类型的警告。 - 规则集可以通过FindBugs的配置文件进行设置。 2. **自定义FindBugs配置**: - 可以通过修改FindBugs的配置文件来定制扫描规则。 - 配置文件通常包含在项目中,并且...

    myeclipse10插件-findBugs

    在此界面,你可以设置检测级别(默认、警告、严重)以及排除特定的包或类。此外,还可以调整FindBugs的扫描范围,例如只针对项目的某个模块进行分析。 集成FindBugs后,你可以在MyEclipse10中直接运行代码分析。...

Global site tag (gtag.js) - Google Analytics