I am working on my phd project lately (trying to finish it at last). My work includes lots programming in Java, and i'm sorry to say that i am often disappointed by some inconsistencies i find in the standard API.

For example, the java.io.File has the following ... If you want to delete a file or directory you must use the delete method. If you want to create a file or directory you must use createNewFile() (for files) and mkdir() for directories .... doh! All those coding conventions and there are still exists relics in the API.