4
Groovy adds each()和一些其他的java.lang.Object方法。我无法弄清楚如何使用Groovy元类来动态替换Java类中的默认each()。如何在Groovy中动态重写类的“每个”方法?
我可以看到如何添加新的方法:
MyJavaClass.metaClass.myNewMethod = { closure -> /* custom logic */ }
new MyJavaClass().myNewMethod { item -> println item } // runs custom logic
但似乎相同的方法行不通覆盖方法:
MyJavaClass.metaClass.each = { closure -> /* custom logic */ }
new MyJavaClass().each { item -> println item } // runs Object.each()
我在做什么错?我如何动态覆盖Groovy中的每个()?