假设我有一个带有静态字段且具有默认值设置的类:

public class MyClass {

   public static int numb = 10;

}


现在,在程序运行时,如何检查MyClassnumb字段是否设置为其默认值(在本例中为10)?

从我的角度来看,在代码中,我不知道该字段默认设置为什么,并且我不是设置该字段的人,因此我无法“简单地检查numb == 10”。我必须能够检查它是否设置为与源代码中所声明的完全相同。

最佳答案

克鲁夫(Kröw),在您对问题的最新澄清之后,以下内容是否满足您的要求?

public class MyClass {

    public static int numb = 10;
}
public class MyTest {

    private static int default_numb = MyClass.numb;

    public static boolean isChanged() {
        return MyClass.numb != default_numb;
    }

    public static void main(String[] args) {
        System.out.println(isChanged() + " " + MyClass.numb);
        MyClass.numb = 20;
        System.out.println(isChanged() + " " + MyClass.numb);
        MyClass.numb = 10;
        System.out.println(isChanged() + " " + MyClass.numb);
    }

}


运行MyTest的输出是:

$ java MyTest
false 10
true 20
false 10

09-30 15:17
查看更多