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 2021”. 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.
if (Character.isSupplementaryCodePoint(cp)) i += 2; else i++;to the simpler
i += Character.charCount(cp);
Prior to Java 16, any static fields declared in an inner class had to be final and initialized with a compile-time constant. Furthermore, inner class were not allowed to have static
methods. These restrictions were lifted in Java 16. Static methods of an inner class can access static fields and methods from the inner class or enclosing classes.
sentence.codePointAt(i)
to s.codePointAt(i)
(2x)if (Character.isSupplementaryCodePoint(cp)) i += 2; else i++;to
i += Character.charCount(cp);
collector.accept(cp);to
collector.accept(new String(new int [] { cp }, 0, 1));
FileChannel = FileChannel.open(path);to
FileChannel channel = FileChannel.open(path, StandardOpenOption.WRITE);
private static Holder
to private static class Holder
java.util.concurrent.ConcurrentSkipListMap<K, V>
ConcurrentSkipListSet<K, V>(Comparator<? super K> comp)
to ConcurrentSkipListMap<K, V>(Comparator<? super K> comp)
Thanks to Zak Harris, Marek Nowicki, Satishchandra Singh, and (your name might go here) for their bug reports!
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, I cannot reply personally to each report, but I do read all your comments.