lux*_*ama 11 java reflection constants dynamic
基本上我需要为一个类获取一个常量,但是我没有该对象的实例,只有它的类.在PHP中,我会做constant(XYZ);
一个类似的方法来检索JAVA中的常量吗?
我需要它来促进动态getMethod调用
Class parameterType = Class.forName(class_name);
object.setProperty(field name, field value, parameterType);
Run Code Online (Sandbox Code Playgroud)
然后set属性方法将获取正确的方法并设置指定的属性,但是我不能使用int作为参数类型而不使用Interger.TYPE
use*_*155 33
你可能会寻找...... 像
Foo.class.getDeclaredField("THIS_IS_MY_CONST").get(null);
或
Class.forName("Foo").getDeclaredField("THIS_IS_MY_CONST").get(null);
(感谢FOO)
获取类Foo中的String常量(THIS_IS_MY_CONST)的值.
更新null用作get感谢acdcjunior的参数
我不确定你想得到什么。但向您展示一个例子应该不会太困难。
假设您有一个带有属性栏的 Foo 类。
Class Foo {
private final String bar = "test";
public String getBar() {return bar;}
}
Run Code Online (Sandbox Code Playgroud)
现在,要通过反思来实现这一点,您将:
Class fooClass = Foo.class;
Object fooObj = fooClass.newInstance();
Method fooMethod = fooClass.getMethod("getBar");
String bar = (String) fooMethod.invoke(fooObj);
Run Code Online (Sandbox Code Playgroud)
现在您将在 bar 变量中获取方法 getBar() 的值
| 归档时间: |
|
| 查看次数: |
21979 次 |
| 最近记录: |