FindBugs错误:从实例方法写入静态字段
我在我的应用程序中有几个区域,我从实例方法操作静态变量的值时得到错误。
“从实例方法写入静态字段” 。
如果我们将multithreading排除在等式之外,即使多个实例写入同一个static
变量,这种情况是否会造成任何潜在的问题?
从文档……
此实例方法写入静态字段。 如果正在操作多个实例,这很难得到正确,并且通常是不好的做法。
- 首先它说这是一种不好的做法 ,而不是错误的做法 。
-
第二件事是关于提出任何潜在问题的问题
如果您正在从实例方法操作
static
字段,那么类的任何对象(包含我们的实例方法的类)可能正在调用该方法,并且很难找到在某个已经存在的大型应用程序或应用程序中操作static
字段的对象由他人开发和编码。
这个答案也可以帮到你。
编辑:
仅供参考,您可以在以下代码中绕过findbug的警告。
class TestClass { static int testInt = 0 ; public static setTestInt ( int a ) { TestClass.testInt = a ; } public void setInt ( int a1 ) { setTestInt ( a1 ); } }
- 将Eclipse与FindBugs一起使用时,您是否可以将错误标记为错误并将其从错误列表中删除?
- 测试浮点相等。 (FE_FLOATING_POINT_EQUALITY)
- 如何让@ParametersAreNonnullByDefault工作?
- Java关闭连接和findbugs
- Findbugs警告:整数移位32 – 这是什么意思?
- SuppressWarnings不适用于FindBugs
- 如何在java中处理bug“dead store to local variable”?
- Maven Findbugs插件 – 如何在测试类上运行findbug
- FindBugs – 如何解决EQ_COMPARETO_USE_OBJECT_EQUALS