- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Java in a Nutshell Paperback – Mar 25 2005
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
About the Author
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
However, the bulk of the 1200+ pages are essentially the javadoc, with some additional notes. In thumbing around and looking at random class descriptions, I didn't see anything I couldn't get from the javadoc. This is obviously a personal preference - if you like the hardcopy, it might work for you. It just seems like a waste to me.
I would have been much happier with the first 400 pages and a note on page 401 that said "buy another book if you need the apis" or "go read the javadoc". A 400 page Nutshell book I can throw in the backpack, thumb through, and carry around. A 1200 page Nutshell (like Java 5.0 for that matter) seems to be suffering from a bit of unnecessary bloat.
Rather than list the chapters like I usually do, I'll forego that this time in that I'll probably overrun the Amazon word limit. Suffice it to say that if it's a core part of the Java language as of version 5.0, it's probably in here...
The good stuff... Flanagan has once again done an outstanding job in providing a succinct reference manual that covers the latest version of the Java language. He's added a new chapter to cover Java 5.0 features such as generic types, enumerated types, and annotations. There is also coverage of some new features in chapter 2, such as autoboxing and the new for/in statement. This coverage method (most of the new stuff in one area) means that readers who are upgrading their copy can easily flag the new material they need to read. And rather than keep a lot of older material floating around, he's also eliminated some language features that are either deprecated or are not widely used. Granted, if *you* are one of the few using it, that's not good, but you have to draw a line somewhere. Other than that, it's the same solid, no-fluff coverage of the Java language in the first 400 pages that you've come to expect in this Nutshell volume. The reminder of the 1200+ pages covers Java API documentation, which is useful if you're looking for a particular method or property you're not familiar with.
The bad part is probably the page count... Although the print is small and the information is packed tightly, 1200 pages still makes for a pretty thick book. Some will make the argument that you can get the last 800 pages (the API documentation) on-line, which is true. I tend to prefer having pages I can flip through without having to do a lot of hyperlinking. Plus you can jot down notes or flag certain parts you reference quite often. I'm almost of the opinion that perhaps it's now time to split the book into Java In A Nutshell - volumes 1 and 2. Put the API info in a second volume and make it easier to work with...
I still think this is a "must have" book for any Java programmer... It just may be time to take a hard look at the packaging for the 6th edition.
My only criticism is that over the years this "in a nutshell" book has expanded to the fill the size of a coconut. Starting with the 4th Edition, I began to recommend that novice Java programmers just read Part I. The author should drop Part II from subsequent editions as printing the Java APIs is a waste of paper and shelf space.
We don't want a 'man page' like reference book, the list of member functions with NO samples or descriptions are closed to useless.
For example: I looked at section 5.4 about Calendar,here is the code:
// Display the current time using a short time format for the current locale
DateFormat shortTime = DateFormat.getTimeInstance(DateFormat.SHORT);
DateFormat myformat = new SimpleDateFormat("yyyy.MM.dd");
Date leapday = myformat.parse("2000.02.29");
I don't remember the SHORT and yyyy.MM.dd, so I decided to check the reference. In DateFormat page, the book says "The getdateInstance( ) methods return a DateFormat object suitable for formatting dates in either the default locale or a specified locale. A formatting style may also optionally be specified; the constants FULL, LONG, MEDIUM, SHORT, and DEFAULT specify this style."
Does that make any sense? no, I don't know how to deal with Locale and the difference between those MEDIUM,SHORT stuff.
So I check my SUN javaDoc in a lovely windows chm format, it says so clearly about all the information I am looking for and even with a few examples! It also even put explainations in lists
"SHORT is completely numeric, such as 12.13.52 or 3:30pm
MEDIUM is longer, such as Jan 12, 1952
LONG is longer, such as January 12, 1952 or 3:30:32pm
FULL is pretty completely specified, such as
Tuesday, April 12, 1952 AD or 3:30:42pm PST.
Then I check SimpleDateFormat in the book, it DOES NOT say anything about "parse"! The only thing it gives is:
public java.util.Date parse(String text, ParsePosition pos);
Come on, what is pos? I have to look for it in JavaDoc again.
It says "
Parses text from a string to produce a Date.
The method attempts to parse text starting at the index given by pos. If parsing succeeds, then the index of pos is updated to the index after the last character used (parsing does not necessarily use all characters up to the end of the string), and the parsed date is returned. The updated pos can be used to indicate the starting point for the next call to this method. If an error occurs, then the index of pos is not changed, the error index of pos is set to the index of the character where the error occurred, and null is returned.
What a shame to O'Reilly. I really hope in the next version they can:
1. Add some description to the most useful member functions in each class.
2. Add a simple example for each Class or add cross reference.
3. Add an idiom code sample for each class
4. Remove 'not that useful' member functions, so many classes have "clone, equals, tostring, hashcode" in it, do you really want to list them??
I can relate to the main complaint of the other reviews: the book's size. I agree that the second half of the book parrots the JavaDoc, but it is somewhat different and helpful, especially if you've grown used to looking through it to find stuff.
I don't know what the answer is. Hey, I have an idea: blame Sun, not David. At the risk of getting flamed and/or flack, I have oftentimes thought that the Java language is just growing out of control. Some might argue that we need all of this stuff. Perhaps that is true, but is it really worth the hit that each and every developer takes every time they try to find something is this vast ocean of APIs?
Ahh, remember the good old days of K&R "C"?
Look for similar items by category
- Books > Computers & Technology > Computer Science
- Books > Computers & Technology > Programming > Java
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Software
- Books > Qualifying Textbooks - Fall 2007 > Computers & Internet
- Books > Textbooks > Computer Science & Information Systems > Object-Oriented Software Design
- Books > Textbooks > Computer Science & Information Systems > Programming Languages
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering