Java hate is overblown, but compared to say Scala (I have professional experience with both) it makes a lot of relatively trivial things (like basic data-holding classes and operations upon them) more painful and verbose than they need to be.
I agree - in particular, for advanced Scala libraries it can be hard to understand the source, which can make them hard to use without thorough documentation which is often lacking.