The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Version |
Location |
Description |
Submitted By |
Date submitted |
Date corrected |
Printed |
Page 8
in ASCII character table |
the character for 99 should be lower case 'c' - not capital.
and character for 115 should be lower case 's' - not capital
Note from the Author or Editor: Agreed, these changes should be made
|
Angelo Quaglia |
Mar 31, 2014 |
|
PDF, ePub |
Page 21
3rd paragraph (examples with floats) |
The text says "No explicit cast is necessary for an int literal because an int fits in a float .".
While it's true when casting an int to a double, it's actually false when casting an int to a float.
See http://stackoverflow.com/a/2781125 for a detailled explanation.
Note from the Author or Editor: I made this change for the Java 8 Pocket Guide:
Even though no explicit cast is necessary for an +int+ literal, an +int+ will not always fit into a +float+ where the value exceeds about 2^23.
Thank you.
|
Mathieu Olivier |
Jan 28, 2014 |
|
Printed |
Page 22
Table 3-2, row 3, last column |
The second example "-1e300/1e300" evaluates to -1, not -0.0
I think it should read "-1e-300/1e300" instead.
Note from the Author or Editor: Yes, it should read "-1e-300/1e300" instead.
Thank you.
|
D K |
Aug 30, 2013 |
Oct 25, 2013 |
Printed |
Page 30
. |
It appears :
publis static final int INT_VALUE = -200;
should instead read :
public static final int INT_VALUE = -200;
Note from the Author or Editor: Thank you for the errata. The change has been made for JPG, 4th Edition.
|
Anonymous |
May 14, 2015 |
|
Printed |
Page 34
last code block |
Method defined as follows:
void modChairCount(int 1) {
1 = 10;
}
Identifier name cannot be ?1?.
Note from the Author or Editor: void modChairCount(int 1) {
1 = 10;
}
should read
void modChairCount(int i) {
i = 10;
}
|
Sergey Stolyarov |
Jul 13, 2013 |
Aug 02, 2013 |
ePub |
Page 34
last code block |
This error has already been reported and corrected for the PDF version, but it's still present in the ePub version.
void modChairCount(int 1)
{
1 = 10;
}
should read
void modChairCount(int i)
{
i = 10;
}
Note from the Author or Editor: The change is going into the Java 8 Pocket Guide.
Thank you.
|
Mathieu Olivier |
Jan 28, 2014 |
|
Printed |
Page 34
middle |
The text starting with "table.setLength(72);" to the end needs to be shift left.
There is an extra close bracket at the end.
Note from the Author or Editor: Formatting is off and last '}' should be dropped... should look like:
void roomSetup() {
// Reference passing
Table table = new Table();
table.setLength(72);
// Length will be changed
modTableLength(table);
// Primitive passing
// Value of chairs not changed
int chairs = 8;
modChairCount(chairs);
}
void modTableLength(Table t) {
t.setLength(36);
}
void modChairCount(int i) {
i = 10;
}
This will be changed in the Java 8 Pocket Guide, thank you.
|
Steve Rhoads |
Mar 17, 2014 |
|
Printed |
Page 39
middle |
There is an extra close bracket. I believe that "} // end" should be deleted.
Note from the Author or Editor: } catch (CloneNotSupportedException cnse)
should read
} catch (CloneNotSupportedException cnse) {
So, we need to add a bracket, not remove one.
This will be added to the Java 8 Pocket Guide.
|
Steve Rhoads |
Mar 17, 2014 |
|
Printed |
Page 45
middle |
In the class ElectionManager there is executable code that is not part of a method?
int i = getIdFromConsole();
Candidate candidate = new Candidate();
Is this allowed? Should the code be inside "static { }"? Needs an explanation if permitted.
Note from the Author or Editor: Thank you for the errata. The JPG, 4th edition has been updated.
|
Steve Rhoads |
Mar 17, 2014 |
|
PDF |
Page 46
3rd paragraph |
3rd paragraphs states as follows:
The keyword super in the Curtain class�s default constructor is
used to access methods in the superclass overridden by methods
in the subclass
But there is no constructor in the next paragraph, instead there is a method printSpecs() definition.
Note from the Author or Editor: Thank you for this errata, it has been updated in the JPG, 4th edition.
|
Sergey Stolyarov |
Jul 13, 2013 |
|
Printed |
Page 47
Lower |
The class Curtain contains executable statements outside of a method(). Is this valid?
Note from the Author or Editor: Replaced this:
public class Curtain {
Builder builder = new Builder();
builder.setWallType(this);
}
with this:
// Print the contents of class curtain
System.out.println(this);
in the Java 8 Pocket Guide.
Thank you for the observation.
|
Steve Rhoads |
Mar 17, 2014 |
|
PDF |
Page 49
first code block |
Indentation for first code block looks a little confusing:
printRows() {
for (String name: names)
System.out.println(name);
}
Note from the Author or Editor: The code should be formatted as shown:
printRows() {
for (String name : names)
System.out.println(name);
}
optionally, it can be shown with parentheses:
printRows() {
for (String name : names) {
System.out.println(name);
}
}
For the next printing of the book, I will leave it up to the discretion of the publisher.
|
Sergey Stolyarov |
Jul 13, 2013 |
Aug 02, 2013 |
PDF |
Page 52
last code block |
There is an incorrect definition of enumeration:
class enum DisplayButton {
"class" keyword is not needed here.
Note from the Author or Editor: class enum DisplayButton {
should read
enum DisplayButton {
|
Sergey Stolyarov |
Jul 13, 2013 |
Aug 02, 2013 |
PDF |
Page 53
the last paragraph |
The last paragraph:
Because @Override is a marker annotation, a compile warning
will be returned if the toString() method cannot be found:
But instead of "toString" there should be "tooString", I think.
Note from the Author or Editor: Because @Override is a marker annotation, a compile warning will be returned if the toString() method cannot be found:
should read:
Because @Override is a marker annotation, a compile warning will be returned if the method to be overridden cannot be found.
---------------------------------
In addition, on page 54, the two comments and 4 lines of code at the top of the page (six lines total) should be removed.
|
Sergey Stolyarov |
Jul 13, 2013 |
Aug 02, 2013 |
Printed |
Page 54
last two code blocks |
In one code block there is a method myMethod, but in the next - someMethod. Looks a little inconsistent.
Note from the Author or Editor: Feedback fb =
someMethod.getAnnotation(Feedback.class);
should read:
Feedback fb =
myMethod.getAnnotation(Feedback.class);
|
Sergey Stolyarov |
Jul 13, 2013 |
Aug 02, 2013 |
Printed |
Page 62
bottom |
Should "strings >= 4 & strings <= 8" be changed to "strings >=4 && strings <= 8"?
Note from the Author or Editor: Excellent, thank you... yes short circuit operators would be best suited here.
This will change and the one on the next page, in the the Java 8 Pocket Guide.
|
Steve Rhoads |
Mar 17, 2014 |
|
PDF |
Page 103
4th paragraph |
Based on the command in the first line of the paragraph:
javac -d /opt/hwapp/classes HelloWorld.java
(i.e., /opt/hwapp/src/com/oreilly/tutorial/)
should read:
(i.e., /opt/hwapp/classes/com/oreilly/tutorial/)
Note from the Author or Editor: I made the update into the Java 8 Pocket Guide.
Thank you.
|
Ryan Gomoto |
Nov 01, 2013 |
|
Printed |
Page 147
All code |
The Java code on pages 147 and 148 should be appropriately formatted, as was done in the previous edition.
|
Robert Liguori |
Jul 30, 2013 |
Aug 02, 2013 |