I can see how the use of lamba expressions adds a convenience, and will reduce the number of lines of code in some situations. However, the equivelant Java, an using anonymous class would still be pretty acceptable in terms of readability. Yes, Java misses a few of the things which appear in C# like delegates and lambdas, but if we're honest, are these really major features? Apart from these minor niggles Java really is more akin to C#, than to C++.