从 Java 中的未知 Groovy 类访问字段

我有一个 Groovy 课程:

class SomeGroovyThing {
    String name
}

在 Java 中,我收到对此类实例的引用作为对象:

Object o = project.getExtensions().getByName("groovyThing")

我无法转换该对象,因为我无权访问 Java 中的 Groovy 类(出于不相关的原因)。我怎样才能检索属性的值name(即我想做,o.name但显然这不起作用)。

我想做某种反射,但事实上我的对象是一个 Groovy 类,这给事情带来了麻烦。


守着一只汪
浏览 88回答 1
1回答

HUH函数

您可以使用反射来做到这一点。你可以得到它: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.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java