第一行还是不要给代码占住了。Dead store to local variable
package com.bid.bugs;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import com.bid.vo.Person;
public class ListVoDemo {
public static void testList(){
List<Person> myList = new ArrayList<Person>();
Class<?> clazz = Person.class;
Field[] fields = clazz.getDeclaredFields();
for(int i=0; i<10; i++){
Person person = new Person();
person.setId(Long.valueOf(i));
person.setName("xiva"+i);
myList.add(person);
}
for(int i=0; i<myList.size(); i++){
Person person = new Person();
person = myList.get(i);
for(int j=0;j<fields.length;j++){
String methodName = "get" + fir2Upper(fields[j].getName());
//根据方法名获取method对象
try{
Method getMethod = clazz.getMethod(methodName);
Object reObject = getMethod.invoke(person, new Object[]{});
System.out.println(reObject);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
public static void main(String[] args){
testList();
}
/**
* 首字母大写
* @param property
* @return
*/
public static String fir2Upper(String property){
String firChar = property.substring(0, 1);
String upperChar = firChar.toUpperCase();
String res = upperChar + property.substring(1);
return res;
}
}
第25行,findBugs居然给出Dead store to local variable这样的提示,开始仔细代码。
显然应该这样写,Person person = myList.get(i);之前的写法显然是不正确的,因为在list中本来就存在我们要使用的person对象,而我们在声明引用时也new了一个对象,这个new的对象是我们所不需要的。这样做对内存的消耗很大很不合理。
分享到:
相关推荐
处理方式:确认此局部变量是否会被使用,如果确实不会被用到,请去掉,和 Dead store to local variable一样处理,只是这里针对的是不是局部变量; Call to static DateFormat 描述:调用静态的DateFormat对象 处理...
- **Dead store to local variable**:变量赋值后未被使用,可能是代码逻辑错误或冗余。 - **Uninitialized field**:字段未初始化就被使用,可能导致程序行为不一致。 - **Potential resource leak**:可能未...
- **最小报告优先级**:设置“Minimum priority to report”,以决定哪些级别的 bug 应该被报告。 - **启用 bug 类别**:根据项目需求选择需要关注的 bug 类别,如正确性(Correctness)、性能(Performance)等。 - ...
《深入理解FindBugs 1.3.9:静态代码分析的强大工具》 FindBugs是一款广受欢迎的静态代码分析工具,它的版本1.3.9在软件开发领域具有重要的地位。这款开源工具的主要功能是检测Java代码中的潜在错误,帮助开发者在...
- **Dead store to local variable**:对一个局部变量赋值,但是这个局部变量可能不会被用到。 - **描述**:这表示代码中可能存在未使用的局部变量赋值操作。 - **处理**:确认该变量是否会在后续代码中被使用。...
标题中的"findbugs压缩包+findbugs.jar+findbugs-ant.jar"指的是该压缩文件内包含FindBugs的主要库文件`findbugs.jar`,这是执行FindBugs分析的核心组件,它包含了各种检测规则和算法。另外,`findbugs-ant.jar`则是...
每个问题都有一个特定的bug模式(Bug Pattern),如DLS_DEAD_LOCAL_STORE、NP_NULL_ON_SOME_PATH等,这些模式通常都有一段简短的英文描述,便于理解问题的本质。 在提供的"findbugs_bug描述的中英文对照.xls"文件中...
FindBugs是一款非常知名的静态代码分析工具,它主要用于在Java代码中发现潜在的错误和缺陷。Eclipse是一款广泛使用的集成开发环境(IDE),对于Java开发者来说尤其重要。将FindBugs集成到Eclipse中,可以帮助开发者...
《FindBugs 3.0.1:Java代码静态分析工具深度解析》 FindBugs是一款广受欢迎的开源工具,用于检测Java代码中的潜在错误和不良编程习惯。在"findbugs-3.0.1.zip"这个压缩包中,包含了FindBugs 3.0.1版本的详细资料和...
`path/to/findbugs-ant-task.jar` 应替换为实际的 FindBugs Ant 任务库的路径。 2. 定义 FindBugs 任务: 创建一个 `<findbugs>` 标签,指定要分析的类文件、输出报告的路径以及 FindBugs 的配置参数。例如: `...
【findbugs工具测试Java实验报告】 在软件开发过程中,代码质量是至关重要的,因为它直接影响到程序的稳定性、可维护性和性能。为了确保代码的质量,开发者通常会采用各种静态代码分析工具,其中FindBugs就是一款...
**Findbugs在Ant下的配置方法** FindBugs是一款开源的静态代码分析工具,主要用于检测Java代码中的潜在错误、坏味道和安全漏洞。它通过分析字节码而非源代码,能够发现许多编译器无法捕获的问题。在Ant构建环境中...
FindBugs是一款强大的Java字节码静态分析工具,它能够帮助开发者在代码执行前发现潜在的缺陷和质量问题。通过检查类文件和JAR包,FindBugs与一系列预定义的缺陷模式进行匹配,从而找出可能存在的问题。这种静态分析...
5. **选择插件组件**: 在新的窗口中,展开`FindBugs Local`,勾选`edu.umd.cs.findbugs.plugin.eclipse.feature.feature.group`,然后点击`Next >`。 6. **确认安装**: 查看即将安装的插件信息,如果无误,点击`...
FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时...
4. **设计问题**:如过时API的使用(DLS_DEAD_LOCAL_STORE_OF_NULL),可能影响代码的可维护性。 5. **安全性问题**:如敏感信息泄露(EI_EXPOSE_REP2),可能危及用户数据。 使用Findbugs进行代码审查时,开发者...
FindBugs是一款静态代码分析工具,它用于检测Java代码中的潜在缺陷。中文版的FindBugs规则文档提供了关于代码质量的多个方面的指导,包括安全、实验性等方面的问题。以下是这些规则的详细解释: 1. Dm: Hardcoded ...
《深入理解FindBugs:基于20081008源码的探索》 FindBugs是一款著名的静态代码分析工具,它通过扫描Java字节码来检测潜在的错误和不良编程习惯,被誉为“程序员的无声守护者”。2008年10月08日的版本是FindBugs发展...
赠送jar包:findbugs-annotations-1.3.9-1.jar; 赠送原API文档:findbugs-annotations-1.3.9-1-javadoc.jar; 赠送源代码:findbugs-annotations-1.3.9-1-sources.jar; 赠送Maven依赖信息文件:findbugs-...