Things can be semantically equivalent but more elegant, easier to read, and harder to make mistakes.
I think most function programmers are actually very familiar with the patters found in Java. It's often one of the reasons they fell in love with more functional styles of programming.