我想在下一个方法中设置一些颜色,但是我不应该对这个方法/类进行任何计算,因为它会被多次重新打印,这会使我的应用程序变慢:
void setStyle() {
if (fake) {
lineColor = EditorSettings.getInstance().getColorOfElement(FAKE_ELEMENT);
}
else if (important) {
lineColor = EditorSettings.getInstance().getColorOfElement(IMPORTANT_ELEMENT);
}
}
因此,我想在代码的另一部分中进行的计算是:
EditorSettings.getInstance().getColorOfElement(FAKE_ELEMENT);
我想仅在用户更改此元素的颜色时才获得此计算的值。我试图将这些计算存储在另一个类的静态块中,但它没有用。我读过,也许我可以用听众做到这一点,但我不知道该怎么做。谁能帮助我? 谢谢:))
编辑:更多代码--->
public class DiscoveryEditorSettings {
static {
Color COLOR_FAKE_MESSAGE = DiscoveryEditorSettings.getInstance().getColorOfElement(FAKE_MESSAGE_KEY);
}
}
然后使用它是不可能的:
if (fake) {
lineColor = DiscoveryEditorSettings.COLOR_FAKE_MESSAGE;
}
答案 0 :(得分:1)
您不需要静态块,而是静态(公共)变量:
public class DiscoveryEditorSettings {
public static Color COLOR_FAKE_MESSAGE = DiscoveryEditorSettings.getInstance().getColorOfElement(FAKE_MESSAGE_KEY);
}