C# Delegates in Java
by Kevin Dangoor
Here is a way to get something like C# Delegates in Java. A delegate is basically an object representing a bound method. I didn’t realize that C# had this, and it’s a very nice feature that I wish Java had. The implementation the authors have done is pretty good, but it would be nice to have the same kind of syntactic sugar that C# provides here. Maybe J2SE 1.6?
Chris Nokleberg wrote a bit of history about C# Delegates vs. Java:
http://sixlegs.com/blog/java/delegates-history.html
which raises the point that we will likely never have delegates in Java, because of a Sun/Microsoft turf war. (Do we really want Sun to lead the Java world?)
On a more positive note, he gave a pointer to CGLIB, which also provides delegates but through bytecode generation rather than reflection:
http://cglib.sourceforge.net/
That would certainly be faster for delegates that will be called frequently.