我有一个这样的Java类:
public class Foo {
public static int counter = 0;
public void bar(int counter) {
Foo.counter = counter;
}
}
counter
FindBugs 警告我通过实例方法写入静态字段bar
。但是,如果我将代码更改为:
public class Foo {
public static int counter = 0;
public static void setCounter(int counter) {
Foo.counter = counter;
}
public void bar(int counter) {
setCounter(counter);
}
}
然后 FindBugs 不会抱怨。那不是错了吗?我仍在从实例方法写入静态字段,只是通过静态方法,不是吗?