Groovy adds each() et un certain nombre d'autres méthodes à java.lang.Object. Je n'arrive pas à comprendre comment utiliser la métaclasse Groovy pour remplacer dynamiquement la valeur par défaut each() sur une classe Java.Comment remplacer dynamiquement la méthode "each" d'une classe dans Groovy?
Je peux voir comment ajouter de nouvelles méthodes:
MyJavaClass.metaClass.myNewMethod = { closure -> /* custom logic */ }
new MyJavaClass().myNewMethod { item -> println item } // runs custom logic
Mais il semble que la même approche ne fonctionne pas lorsque les méthodes remplaçant:
MyJavaClass.metaClass.each = { closure -> /* custom logic */ }
new MyJavaClass().each { item -> println item } // runs Object.each()
Qu'est-ce que je fais mal? Comment puis-je redéfinir dynamiquement chaque() dans Groovy?