Я немного запутался здесь с предупреждением об ошибках в eclipse.
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";
}
}
Как это иначе? Почему зачем писать статическую переменную из метода экземпляра плохую практику? Я предполагаю, что это связано с синхронизацией, но мне все еще не ясно.
Я знаю, что это похоже на то, что переменная должна быть окончательной, но я загружаю значение из файла свойств.