我正在使用groovy与Java库交谈。我试图获得一个类字段的值,并且由于groovy对getter的隐式调用而遇到麻烦。我正在做这样的事情:
println model.schemaComponent
并且groovy正在调用getSchemaComponent
方法。
我遇到的问题是Java类有一个名为public
的{{1}}字段,以及该字段的getter方法(schemaComponent
)。现在,在Java库中,他们已经弃用了getter方法而使用了public字段,而getter方法总是返回getSchemaComponent
。
有没有办法以某种方式强制 groovy从公共字段而不是getter方法获取值?
谢谢
答案 0 :(得分:3)
Groovy有一个direct field-access operator .@
,所以你可以这样编写你的表达式:
println model.@schemaComponent
也就是说,任何在删除语义的同时留下API调用的库都是我会快速逃避的。
答案 1 :(得分:2)