All in all, my Java experience is mixed. It is certainly easier to use than C++, but the syntax, while simpler, is not as elegant. For example, the lack of overloaded operators make numeric classes not as transparent to the user.
Also, I don't know why they kept primitive types in place (int, char, boolean) while also adding class equivalents (Integer, Character, Boolean). I don't know if it was an efficiency thing, but it seems like it would've made more sense to wrap all the primitive types with objects, make all the library functions use the class equivalents, and recommend that folks avoid using the primitive types, like in Smalltalk. That way, you end up with the absurdly simple Smalltalk-style type model in which every type, from numbers to buttons, is an object.
Actually, the best thing about Java is the class library. It includes a huge library full of robust useful objects. C++ doesn't even come close for standard libraries. STL is about it.
Speaking of Java, Shelly and I updated www.civilgrrl.com, changing the project pages to use a Java-based AutoCAD viewer rather than the plug-in. The Java-viewer isn't as fast, but it doesn't require the plug-in, and it works on all platforms.