The best offline reference for Java
For those that find that Javadoc hard to read (like me) or aren't "always on" the internet, this is a great alternative. The first few chapters are particularly - short, sweet and to the point - a cross between Javadoc and a cookbook and is quite readable.
Decent yet lacking
Java: In a Nutshell (4th ed.) is a decent reference manual for quick lookups. Be forewarned: it's very terse. This helps and hurts it; the Java language is pretty hefty itself, so concise reference is valuable, however sometimes I've found it to be a little bit on the lacking side when I really needed fast and easily understandable reference.
Not a must-have, but definitely not a waste.
Way too terse to be useful
This book is way too terse to be useful. Modern Java development tools will help you use the correct class method signatures anyway. Buy the posters instead and give yourself a visual overview instead.
Best guide for the working programmer
This isn't a textbook. It's a handbook, and gives good, clear descriptions of every corner of the Java language. Java isn't a big feature-sodden language, but has a few obscure corners. If you just can't remember the syntax for up-reference from an inner class, you'll find it fast and explained well.
The API guide is fairly complete, but terse. Well, it has to be - the API keep growing. No one book could hold a complete description of everything. Sad to say, earlier editions had more complete API descriptions. The second, for example, had a very good introduction to reflection. As the Java API grew, however, the old descriptions had to shrink to make way for the new, and the reflection discussion was squeezed out. Still, it gives a good quick look at the API. This isn't as complete as the Javadoc API information, but is hugely more browseable. Use this to direct your query into the right area, then use Sun's Javadoc to get the details.
If you have room for only one Java book, make it this one.
-- wiredweird
2007 PS to the 2004 review: Flanagan's new edition on Java 5 supercedes this version of the classic. The new version has all the strengths of earlier editions. It covers language basics and Java 5 extensions even better, except for some rough spots in generics. It covers the fast-growing standard library even worse. If coding Java pays your paycheck, then upgrade. If you work on legacy or casual code, the 3rd or 4th edition, plus easy access to javadoc, might still serve you well enough.
I love my nutshell
I keep this book by my side and reference it at least twice a week. An integral part of my Java programmer's desktop library.