Amazon.com Customer Reviews
This is the NEW Java! - Review written on August 25, 2005
Rating: 5 out of 5
2 customers found this review helpful, 1 did not.
Java 1.5 (or 5.0, depending on whether you listen to the technical tpes or the marketing people), redefines Java - the biggest change since 1.2 (or was that 2.0?) and this book covers it all.
The author decided to make this a book that you could actually carry around with you, so he dropped most of the deprecated options, plus some of the lesser used packages (java.beans, .security.acl).
This book is important because Java, with version 5, has signiificant additions (generic types, a for/in statement, varargs, to list some of the lesser stuff). As in the previous editions, the author does a great job of providing a readable text that can benefit every level of experience. Not only does he cover every important feature, but he follows the text up with a comprehensive API Quick Reference. Either half would be worth the price of admission. Whether you're a Java pro or just interested in playing with the language, this book is an absolute must. And unless you work at home, I'd buy two.
Beware of the problems - Review written on August 10, 2005
Rating: 3 out of 5
16 customers found this review helpful, 3 did not.
This kind of classic book has its merit, but this version has quite a few problems
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??
good sign of Java's vitality - Review written on April 08, 2005
Rating: 4 out of 5
4 customers found this review helpful, 2 did not.
Recently, Sun gave us a significant upgrade to Java - the release of Java 5. A slew of the inevitable bug fixes. But also key new features, as explained here by Flanagan in the 5th edition of his long running reference.
Some new abilities lead to notational simplification, like autoboxing. So if k is an Integer, you can now say "k=5" instead of the clumsier "k=new Integer(5)". With a similar inverse process if q is an int, of being able to write "q=k" rather than "q=k.intValue()". Though of course the older forms are still valid, for backward compatibility.
Hey, varargs are now allowed! Much to the pleasure of some of you who came from C programming and used this nice feature. Ever since Java came out, there has been a continual, albeit quiet, push for varargs. Finally!
By now, experienced Java programmers may be familiar with earlier versions of the book. There may be mild astonishment at the sheer heft of this edition. Thanks to its popularity, Java has bulked up in the number and scope of its classes. The book is a reassuring sign of Java's vitality.
Still a must-have classic, but it's getting rather large... - Review written on April 05, 2005
Rating: 4 out of 5
42 customers found this review helpful, 3 did not.
Here's a classic that just keeps on keep up with the state of the language... Java In A Nutshell (5th Edition) by David Flanagan (O'Reilly). But it's definitely getting pretty large...
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.
A bit much... - Review written on March 30, 2005
Rating: 3 out of 5
91 customers found this review helpful, 3 did not.
As far as the information inside the book goes, it's a great book that describes the basics of Java in a simple, here's what you need to know format. It describes everything you need to know about Java syntax, objects, etc, etc, etc. The big reason to get this is for the Java 5.0 info, which is scattered throughout Chapter 2. There is also Chapter 4, which goes into more detail on some of the more interesting features of Java 5.0.
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.