dmstarostin (1) [Avatar] Offline
#1
First let me thank you for this awesome book. I'm not yet finished it, but already got a number of directions to futher explore Java platform.

I just finished chapter 9 of the book and, as I have some Scala experience, want to report two factual errors:

9.1.2, page 246: Scala supports indirect method call syntax, so you can write args(0) match { ... } as an equivalent to args(0).match({ ... }).
This is not true. match is a keyword, not a method, its syntax is defined exactly as PostfixExpr ‘match’ ‘{’ CaseClauses ‘}’

9.1.3, page 248: in Scala, == and .equals() are equivalent. If reference equality is required, then === can be used.
There is no === method in standard library. .eq() is used for reference equality. There is === method in ScalaTest library that gives you better error message (a did not equal b) than regular == (assertion failed).
martijn.verburg (86) [Avatar] Offline
#2
Re: Errors in Scala chapter
Thanks for catching these! We'll add them to the next round of errata