Há um novo hype com as tão esperadas expressões lambda no Java 8; a cada três dias, outro artigo aparece com eles sobre como eles são legais.
Até onde eu entendi, uma expressão lambda nada mais é do que uma classe interna anônima com um único método (pelo menos no nível do código de bytes). Além disso, ele vem com outro recurso interessante - a inferência de tipo, mas acredito que o equivalente a isso possa ser alcançado com genéricos em algum nível (é claro que não de maneira organizada, como nas expressões lambda).
Sabendo disso, as expressões lambda trarão algo mais do que apenas uma adição sintática em Java? Posso criar classes mais poderosas e flexíveis ou outras construções orientadas a objetos com expressões lambda que não são possíveis de serem construídas com os recursos de linguagem atuais?
this
para OuterClass.this
faz parte do processo de descodificação de expressões lambda em classe anônima.