Groovy调用弃用的getter方法而不是public class字段

时间:2016-06-30 16:54:16

标签: java groovy properties

我正在使用groovy与Java库交谈。我试图获得一个类字段的值,并且由于groovy对getter的隐式调用而遇到麻烦。我正在做这样的事情:

println model.schemaComponent

并且groovy正在调用getSchemaComponent方法。

我遇到的问题是Java类有一个名为public的{​​{1}}字段,以及该字段的getter方法(schemaComponent)。现在,在Java库中,他们已经弃用了getter方法而使用了public字段,而getter方法总是返回getSchemaComponent

有没有办法以某种方式强制 groovy从公共字段而不是getter方法获取值?

谢谢

2 个答案:

答案 0 :(得分:3)

Groovy有一个direct field-access operator .@,所以你可以这样编写你的表达式:

println model.@schemaComponent

也就是说,任何在删除语义的同时留下API调用的库都是我会快速逃避的。

答案 1 :(得分:2)

使用.@ operator

model.@schemaComponent

Live example