We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P1.0, released 4 months ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
0
#76570: I presume you folks have noticed that the *spine* of the printed book says: "Functional Pgrogramming in Java"? Admittedly, I often *feel* like...more...
P1.0
26-Mar-14
19
#76458: the beginning of ch 2 states that Arrays.asList creates an immutable list. It does not. The list is fixed-size, but not fixed-contents. You ca...more...
B8.0
02-Mar-14
23
#76539: I think it is better to use the diamond operator as much as possible. For example: final List<String> uppercaseNames = new ArrayList<String...more...
B8.0
17-Mar-14
24
#77056: You say in the next to last paragraph that "the map() method collects the result of running the lambda expression and returns the result colle...more...
P1.0
26-Jul-14
34
#76538: Following code is not a good example: System.out.println(String.format("A name starting with %s: %s", startingLetter, foundName.orElse("No...more...
B8.0
17-Mar-14
68

#76849: Let quickly run these last three calls

should be

Let's quickly run...

P1.0
09-Jun-14
74
#76753: In page 74 Designing Filters [[ wrapper.apply(input); The result of that call is the same as doing this: temp = target.apply(input); re...more...
P1.0
01-May-14
74

#76759: I expected the filters to be applied in left-to-right order but it's the other way around.--Carey

P1.0
01-May-14
107
#76828: Lazy initialization with Holder class. This approach has the same problem why double checked locking fails. Potentially a thread can see a ...more...
P1.0
01-Jun-14
182
#76781: Since we are into removing code noise, this: System.out.print(String.format("A name starting with %s: ", startingLetter)); should be changed...more...
P1.0
10-May-14
382
#76560: This code: str.chars() .forEach(ch -> ​System​.out.println(ch)); Won't work as expected. It will print out the int value for e...more...
P1.0
22-Mar-14