有沒有一種方法我可以創建一個Java類,有一對「一般」的getter/setter方法,如動態字段的Java類
public Object get(String name);
public void set(String name, Object object);
,使Groovy的翻譯語句,如
myObject.foo = 'bar'
到
myObject.set("foo", "bar")?
(myObject
是具有的Java類的實例種set(String, Object)
方法)
只是好奇,你爲什麼要這樣做?看起來你只是讓事情變得更加複雜,因爲這基本上是groovy bean屬性訪問器已經提供的。 –
「爲什麼」部分有點棘手.. Java是我可以編寫類的語言,但我的客戶在他們的Groovy程序中使用這些類。我遇到了這種情況,我想公開一個Java類,它的屬性在編譯時不知道,並在運行時更改。一個粗糙的方法是讓我的對象實現Map並要求用戶執行obj ['foo'] = bar,但我認爲可能有更好的方法..不知道這些「bean屬性訪問器」..會嘗試它們如其中一個答案建議,並得到thx .. – Pradyumna