在eclipse中,我对这个findbugs警告有点困惑。在实例方法中写入一个静态变量,为什么这是一个不好的做法?
public class MyClass {
public static String myString;
}
public class AnotherClass {
public void doSomething() {
MyClass.myString = "something";
}
}
这给了我FindBugs的警告“写从实例方法,静态字段”,但是这并没有给我一个警告:
public class MyClass {
public static String myString;
}
public class AnotherClass {
public void doSomething() {
doAnotherThing();
}
public static doAnotherThing() {
MyClass.myString = "something";
}
}
这是怎么回事有什么不同?为什么是写作从一个实例方法到一个静态变量是一种不好的做法?,我认为它与同步有关,但它仍然不清楚。
我知道这看起来像变量应该是最终的,但我加载属性文件中的值。
我喜欢你的理解和清晰度的理解,而不是同步(无论这个方法是否是静态的,这是有问题的)。 – 2011-02-01 23:35:33