Two obvious suggestions are NetBeans and Eclipse.
Both are free and great for Java Development.
Which you use is a matter of choice. For Java Development I personally probably prefer NetBeans. As NetBeans is produced is usually very up to date with latest developments in Java. I also like how the project build is all done via Ant but again this is down to personal taste.
Although I'm currently using Eclipse as the Google Plug-in for Android development is only for Eclipse. I would say this usually the case with a lot of Plug-ins.