Welcome to the Core Java Bug List

How to Tell which Printing You Have

On the bottom of the copyright page (facing the first page of the table of contents), look for a line such as “First printing, December 2012”. In the errata below, we indicate the printing in which the error has been fixed inside square brackets such as [4].

For example, suppose you have the fourth printing. Then you can ignore all reports that are prefixed with [2], [3] or [4]. But you would want to pay attention to all reports that are prefixed with [5] or higher or that have no bracketed prefix at all.

9th Edition Volume 1 (Java SE 7)

[2] Page 51

Change "For example, the mathematical symbol for the set of integers ℤ has code point U+1D56B and is encoded by the two code units U+D835 and U+DD6B." to “For example, the mathematical symbol for the set of octonions 𝕆 (http://math.ucr.edu/home/baez/octonions) has code point U+1D546 and is encoded by the two code units U+D835 and U+DD46.”

(Why the change? When I first wrote that section, way back when in 2004, I mistook 𝕫 (U+1D56B), which is in Mathematical Letterlike Symbols, for an uppercase ℤ, which is actually U+2124 in Letterlike Symbols, as are the other more common sets ℕ ℚ ℝ ℂ and even ℍ. Apparently, so few readers care about supplementary characters that it took eight years for the error to be noticed.)

If the characters in the preceding paragraphs show up as gibberish, make sure your browser displays UTF-8.

[2] Page 61
Add a solid arrow from float to double in Figure 3.1
[2] Page 68
Change the second 3.6.5 to 3.6.6, and increment the section numbers on pages 69, 72, 74 and the references on pages 66 and 70.
[2] Page 69
ℤ is the set of integers


𝕆 is the set of octonions

Change “The character ℤ” to “The character 𝕆 (U+1D546)”

[2] Page 71
In the documentation of trim, change “all leading and trailing spaces” to “all leading and trailing white space”
[2] Page 85
Change “a “file not found” exception” to “an “input/output” exception” and throws FileNotFoundException to throws IOException
[2] Page 115
The second copyOf method in the API doc should instead be copyOfRange.
[2] Page 134
In figure 4.4, change the second birthday to deadline
[2] Page 140
In the last line, remove the space between String and []
[2] Page 141
In the first sentence, change “returns a string” to ”returns an array of strings”
[2] Page 152
The second this in the second raiseSalary should be in boldface to match the two bold number007 above.
Page 155
Change return hireDay.clone(); to return (Date) hireDay.clone();
Page 160
Change “Since static methods don’t operate on objects, you cannot access instance fields from a static method. However, static methods can access the static fields in their class.” to “A static method of the Employee class cannot access the id instance field because it does not operate on an object. However, a static method can access a static field.” (A reader complained that the original statement is false since a static method can manipulate instance fields of other objects of the same class. For example, you can have a public static int compare(Employee a, Employee b).)
Page 160
In the Note, change Employee.getnextId() to Employee.getNextId()
[2] Page 178
Change “You can write a “Hello, World” program” to “Up to JDK 6, you can write a “Hello, World” program”
Page 180
Change --see below to --see above in source line 68
Page 200, 201
Items 6, 7 should be numbered 5, 6
[2] Page 217
In the Caution note, change “a weaker access privilege” to “a more restrictive access privilege”
Page 229
In the last line, change Object.equals to Objects.equals
[2] Page 236
In the second API note, change int hash(Object... objects) to static int hash(Object... objects)
[2] Page 243
Change “in particular in C” to “in particular in C++”
[2] Page 288
In the last line of the Tip, change x > 0 to x > y
Page 291
Change “java.lang.Double 7” to “java.lang.Double 1.4
[2] Page 321
In the Note, change favorites to friends (2x)
[2] Page 342
Remove / / / /
[2] Page 344
Remove the / at the beginning of two paragraphs
[2] Page 348
Remove the / before boolean isVisible()
[2] Page 645
After try Scanner in = new Scanner(new FileInputStream("/usr/share/dict/words")), change the comma to a semicolon
[2] Page 901
Change “periodially” to “periodically”
Page 902
In the second line from the bottom, remove “Fork-join framework”

9th Edition Volume 2 (Java SE 7) ???

[2] Page 58
Change “when resolved with q” to “when resolved with p
[2] Page 58
Change "../fred/myapp" to "../fred/myprog"
[2] Page 64
Change files.readAttributes to Files.readAttributes (2x)
[2] Page 66
Change "Escapes any of the above" to "Escapes any of the above as well as \"
[2] Page 82
Change "To include a [, make it the first item." to "To include a ], make it the first item."
[2] Page 383
Change “The resulting table...out of view!” to “When you scroll the table, the table header doesn't scroll out of view.”
[2] Page 384
Below the Note, add a Caution item: If you don’t wrap a table into a scroll pane, you need to explicitly add the header:
add(table.getTableHeader(), BorderLayout.NORTH);      
[2] Page 389
In line 39 of the source code, change add(table); to add(new JScrollPane(table));
Page 896
Change engine.put(b, ...) to engine.put("b", ...)
Page 897
Change scope.put(b, ...) to scope.put("b", ...)

Thanks to Patrick Brinich-Langlois, Ken Frazer, Kirk Goff, Paul Grabow, Pedro Juan Hidalgo, Jan Huysmans, Vadim Kramer, Harri Jauri, Julie Nahil, Dennis Oleksyuk, Ivonne Roberts, Peg Russell, Anubhav Saggi, Sergey Travin, Shawn Wallis, Christian Wilkie, Jim Woodruff, and (your name might go here) for their bug reports!

Bug Report Form

If you have found another bug in the book or in our code that is not mentioned in this bug list or the Core Java FAQ , then please send a report. Unfortunately, we cannot reply personally to each report, but we do read all your comments.

Your name:

Your email address:

Page number:

Problem description:

To protect against spam robots, please answer this simple math problem:
* =

Back to the Core Java page.