通过反射获取Java中类的公共静态最终字段/属性的值

2023-11-26

假设我有一堂课:

public class R {
    public static final int _1st = 0x334455;
}

我怎样才能得到的值"_1st"通过反射?


首先检索类的字段属性,然后您可以检索值。如果您知道类型,则可以使用带有 null 的 get 方法之一(仅适用于静态字段,事实上,对于静态字段,传递给 get 方法的参数将被完全忽略)。否则,您可以使用 getType 并编写适当的开关,如下所示:

Field f = R.class.getField("_1st");
Class<?> t = f.getType();
if(t == int.class){
    System.out.println(f.getInt(null));
}else if(t == double.class){
    System.out.println(f.getDouble(null));
}...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过反射获取Java中类的公共静态最终字段/属性的值 的相关文章

随机推荐