我有一個 Groovy 課程:class SomeGroovyThing {
String name
}在 Java 中,我收到對此類實例的引用作為對象:Object o = project.getExtensions().getByName("groovyThing")我無法轉(zhuǎn)換該對象,因為我無權(quán)訪問 Java 中的 Groovy 類(出于不相關(guān)的原因)。我怎樣才能檢索屬性的值name(即我想做,o.name但顯然這不起作用)。我想做某種反射,但事實上我的對象是一個 Groovy 類,這給事情帶來了麻煩。
1 回答

HUH函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗 獲得超4個贊
您可以使用反射來做到這一點。
你可以得到它:
String name=(String)o.getClass().getField("name").get(o);
或者設(shè)置它:
o.getClass().getField("name").set(o,name);
如果name
是private
,您可以使用 setter/getter 方法(getMethod()
在 中Class
)或setAccessible(true)
在Field
.
添加回答
舉報
0/150
提交
取消