単一のJavaオブジェクトのメソッドシグネチャを変更する正しい方法は何ですか。toString
メソッドを変更したいとします。
myObject.metaClass.toString = { pritln "hello world" }
このコードには問題があるようです。オブジェクトを他のJavaコンパイル済みオブジェクトに渡すと、元のオブジェクトtoString
が呼び出されます。
他のソリューションはラッパーを作成しますObject
。元のクラスとはクラスが違うので満足できません
追加:
1。作成プロセスを制御できません
2.オブジェクトがどのようにインスタンス化されたかわかりません
それで、この問題を解決するためのグルービーな方法はありませんか?唯一の解決策は、Javaラッパークラスを作成し、すべてのメソッドをラップして1つを変更することです。これは ...