我有一个 Groovy 课程:class SomeGroovyThing {
String name
}在 Java 中,我收到对此类实例的引用作为对象:Object o = project.getExtensions().getByName("groovyThing")我无法转换该对象,因为我无权访问 Java 中的 Groovy 类(出于不相关的原因)。我怎样才能检索属性的值name(即我想做,o.name但显然这不起作用)。我想做某种反射,但事实上我的对象是一个 Groovy 类,这给事情带来了麻烦。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
您可以使用反射来做到这一点。
你可以得到它:
String name=(String)o.getClass().getField("name").get(o);
或者设置它:
o.getClass().getField("name").set(o,name);
如果name
是private
,您可以使用 setter/getter 方法(getMethod()
在 中Class
)或setAccessible(true)
在Field
.
添加回答
举报
0/150
提交
取消