I like the mature libraries, the fact that things like unicode, date parsing, time zones, and i18n are “already solved.” But I dislike the fact that Java can be … clever. Things like getResourceAsStream() protect you from danger, but only if you follow all the instructions. And then they are just weird. But clever.
I also dislike Eclipse: clever. Things are done for you. And that makes sense for large, in-the-enterprise apps, but the cleverness becomes necessary to do anything.
I suppose Java people could make the same comments about Python (particularly where Java stresses encapsulation while Python eschews it). But Python also eschews cleverness.