One aspect I like about Java is that it has a more intuitive object oriented way of handling things. For example let's say we have a variable called MyString wich is of string type. If you want to learn its length, in Java you write "MyString.Length". In Delphi and Ada, however, it has the form of "Length(MyString)" which rather looks structural than object oriented.
Another inconvenience is that while Java's notation let's you use code completion for looking through string handling routines, in Delphi and Ada you have to search through help pages.
By the way, Delphi gets big points for its easy to use help. Java and especially Ada is a nightmare in that respect.