检查字段是否设置为Java中声明的默认值

Krö*_*röw 2 java

假设我有一个带有静态字段的类,其默认值设置为:

public class MyClass {

   public static int numb = 10;

}
Run Code Online (Sandbox Code Playgroud)

现在,在程序运行期间,我将如何检查MyClassnumb字段设置为默认值(在这种情况下,10)?

从我的角度来看,在代码中,我不知道该字段默认设置为什么,而我不是设置该字段的那个,所以我不能"简单地检查是否" numb == 10.我必须能够检查它是否设置为源代码中声明的内容.

shm*_*sel 7

单个字段不可能实现.我建议添加一个常量来保持默认值,并将其与之比较numb以查看它是否已更改:

private static final int DEFAULT = 10;
public static int numb = DEFAULT;

public static boolean isChanged() {
    return numb != DEFAULT;
}
Run Code Online (Sandbox Code Playgroud)