A couple of books were helpful to me, both by Venkat Subramaniam and published by Pragmatic Programmers:
- Functional Programming in Java
- Cruising Along With Java (this covers everything else that is "new" other than functional programming)