Jeanne Boyarsky and Scott Selikoff developed a study guide for the new Oracle Certified Associate (OCA), Java SE 8 Programmer exam. The book, OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z04-808 is published by Wiley Publishing.
We are using this blog to publish information about the book such as objectives changes and any errata found within the book. To report an error in the book that is not yet listed here, please create a thread in the OCA forum and include “Sybex OCA Java 8 Study Guide” in the subject.
For those wanting to take the Oracle Java 8 OCA Exam, the official release was on January 10th. For more information, visit Oracle’s Java SE 8 Programmer I exam page. If you have any questions for us, feel free to post in the OCA forum at CodeRanch which Jeanne and Scott visit frequently.
Key links
Where to buy it
Length/score
Oracle has a tendency to change this information from time to time. As of May 14, 2017:
Changes to the objectives
Online Material
Blog posts related to OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z1-808:
Errata
The table is sortable so you can see focus on the errata by criticality, chapter or see the ones added since you last checked. To report a potential error, please create a thread at http://www.coderanch.com/forums/f-117/ocajp. Be sure to include “Sybex” and the chapter and/or page number in the subject.
Note: If you got the second printing of this book (late 2016), most of these errata have been corrected.
Page | Chapter # | Error | Type of error | Reported by/via | Confirmed on | Listed on Wiley’s errata | Fixed in 2nd printing* |
---|---|---|---|---|---|---|---|
xxvii | Intro | Develop code that uses wrapper classes such as Boolean, Double, and Integer should be listed as being in chapter 3, not chapter 1 | Typo | Malik Ashter Mehdy | 2018-08-11 | No | No |
xxxiv | Intro | #9 – there is a stray “a” after (Choose all that apply) | Typo (e-book only) | Alex | 2014-12-171 | Yes | Yes |
xxxvi | Intro | #12 – choice C should read Color: white rather than Color: White | Typo | Chris McDowell | 2016-07-22 | No | No |
xxxvooo | Intro | #17 – choice D should end with 5)); rather than 5); | Typo | Igor Soudakevitch | 2016-11-27 | Pending | No |
xxxix | Intro | #1 – “a_b defaults to a null value” should be “$ defaults to 0” | Error in mock explanation | Mushfiq Mammadov | 2015-10-11 | Yes | No |
xxxix | Intro | #3 – The answer is correct. In the explanation, “Puma is invalid” should be “Cougar is invalid” for the explanation for D. And “E is incorrect” should be “E is correct”. In the second printing, we introduced a regression error. It should be “since the declaration in the parent iass Puma is invalid” and then “the declaration of Puma is invalid” | Error in mock explanation | Alan Couze | 2015-08-03 | Yes | Partially |
xxxix | Intro | #4 – The answer is correct. In the explanation, the first bullet should say “starts” rather than “continues” and the assignment of 1, 2, etc is to count. The complex expression spelled out is y. Also, in the second bullet, 1 + 4 should say 1 + 5. | Error in mock explanation | Elena Felder and Alan Couze | 2015-04-04 and 2015-08-03 | Yes | Yes |
xxxix | Intro | #4 – If you have the second printing, bullet 3 should say (1+4) % 3 and 5 % 3 rather (1+5) % 3 and 4 % 3. | Error in mock explanation | Olivier Ska | 2016-11-17 | Pending | No |
xli | Intro | #10 – “Reference one points to g1” should be “Reference one points to g2” | Error in mock explanation | Mushfiq Mammadov | 2015-10-11 | Yes | Yes |
xli | Intro | #13 – “options D and E are correct” should be “options D and E are incorrect” | Error in mock explanation | Diarmuid Naughton | 2015-10-11 | Yes | Yes |
xli | Intro | #13 – “since the pre-increment operator” should be “since the pre-decrement operator” | Error in mock explanation | Vitaliy Ovcharenk | 2017-05-14 | TBD | TBD |
xli | Intro | #13 – “Since luck is not less than 10” should be “Since luck is not greater than 10” | Error in mock explanation | Ganesh Pateka | 2017-11-29 | TBD | TBD |
xli | Intro | #14 – All reference to “array” in the explanation should be “List” | Error in mock explanation | Late Preteen | 2021-06-30 | TBD | TBD |
xlii | Intro | #16 – The answer is correct. “because an interface may inherit two abstract methods with the same signature” should be “ a class”, not “an interface”. The statement isn’t wrong, but in the question it’s a class. | Error in mock explanation | Elena Felder | 2015-04-04 | Yes | Yes |
xlii | Intro | #17 – The answer is correct. In the second to last sentence, “not inferring predicates” should be “of inferring predicates” | Error in mock explanation | Guram Savinov | 2017-10-15 | No | No |
4 | Chapter 1 | “each of these five words is in” should be “six words.” | Typo | Kevin Abel | 2015-03-xx | Yes | Yes |
8 | Chapter 1 | The stack trace should have “mainmethod.” removed. Also, it should refer to line 4 rather than line 7 | Typo | Michel Parisien | 2015-12-26 | Yes | Yes |
10 | Chapter 1 | In the fourth line of the second paragraph, “From example” should be “For example”. | Typo | Michel Parisien | 2015-12-26 | Yes | Yes |
12 | Chapter 1 | The import should be java.nio.file.Paths not java.nio.files.Paths. | Typo | Mushfiq Mammadov | 2015-03-20 | Yes | Yes |
18 | Chapter 1 | The middle code block should have > instead of < on line 5. | Typo | Gabriel Jesus | 2015-02-xx | Yes | Yes |
21 | Chapter 1 | In the first sentence, “their size in bytes” should be “their size in bits” | Typo | Bart Presso | 2018-01-15 | Yes | No |
30 | Chapter 1 | The compiler error message at the top of the page should refer to line 7 rather than line 5. | Typo | Michel Parisien | 2015-12-26 | Yes | Yes |
31 | Chapter 1 | At the end of the second paragraph, “simplest type it can give the value” should be “simplest value it can give the type” | Typo | Michel Parisien | 2015-12-26 | Yes | Yes |
Chapter 1 review questions (e-book only) | Chapter 1 | In some of the review questions, the line break is missing between the code that would be in different files. You can assume that each package statement starts a new file. | Rendering error | Tom Keegan | 2015-12-26 | Pending | No |
53 | Chapter 2 | On the first line of table 2.1, ~ should be in the other unary operators section. And on the last line of the table, !=, should be |=. (This isn’t on the exam though so don’t worry). | Typo | Steve Aaron | 2015-04-02 | Yes | Yes |
54 | Chapter 2 | In “resulting in a value of x of 7. Make sure you understand why the result is 24”, the 7 and 24 should be 14 | Typo | Edward Rance | 2015-02-03 | Yes | Yes |
54 | Chapter 2 | In “int x = 2 * ((5 + 3) * 4 – 8); This time you would evaluate the addition operator 10 + 3 “, the 10 should be 5. | Typo | Edward Rance | 2015-02-03 | Yes | Yes |
54 | Chapter 2 | In the third to last paragraph, “except boolean and String” should be “except boolean” since String is not a primitive | Incorrect fact | Juliet Smith | 2015-07-28 | Pending | No |
55 | Chapter 2 | In the first paragraph “9 to 12” should be “11 to 12” | Typo | Mike Kenyon | 2017-08-11 | Pending | No |
55 | Chapter 2 | In the note “floating-point integers” should be “floating-point numbers” | Typo | Olivier Ska | 2016-11-17 | Pending | No |
57 | Chapter 2 | In the second sentence, “multiplied” should be “divided”. | Typo | Mushfiq Mammadov | 2015-07-01 | Yes | Yes |
58 | Chapter 2 | In the second to last sentence of the last paragraph, “the value return” should be “the value returned” | Typo | Tia Smith | 2017-07-10 | No | No |
61 | Chapter 2 | 9l should be 9f on the first row | Typo | Mushfiq Mammadov | 2015-03-30 | Yes | Yes |
62 | Chapter 2 | “The compound operator will first cast x to a long” – “x” should be “y” | Typo | Gabriel Jesus | 2015-02-24 | Yes | Yes |
64 | Chapter 2 | Figure 2.1 says “true tables” rather than “truth tables” | Typo | Dan | 2015-02-xx | Yes | Yes |
69 | Chapter 2 | “block of statement” should be “block of statements” | Typo | Michel Parisien | 2015-12-27 | Yes | Yes |
71 | Chapter 2 | The first code example shouldn’t have “final” so the ternary operator is equivalent. | Typo | Jan Stückrath | 2016-01-19 | Yes | Yes |
72 | Chapter 2 | There’s no reason to mention Java 7 in the sidebar about the ternary operator. The behavior hasn’t changed. | Typo | Mathias Bader | 2015-04-11 | Yes | Yes |
73 | Chapter 2 | “int and Integer” is listed twice in the bulleted list. | Typo | Scott Selikoff | 2014-11-xx | Yes | Yes |
82 | Chapter 2 | In the first example on the page, System.out.print(x) should be removed | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
82 | Chapter 2 | At the bottom of the page, “In the first example, y and z were both long” should be “In the multiple terms example, y and z were both long” | Typo | Gabriel Jesus | 2015-02-26 | Yes | Yes |
83 | Chapter 2 | Figure 2.8 says “semicolon” rather than “colon” when pointing to a colon | Typo | Dan | 2015-02-xx | Yes | Yes |
83 | Chapter 2 | In Figure 2.8, the title should be “enhanced for-each statement” rather than “enhancement for statement” | Typo | Roel De Nijs | 2015-04-02 | Yes | Yes |
86 | Chapter 2 | In the second for loop example on the page, there should be a comma in the code to match the output. | Typo | Mushfiq Mammadov | 2015-04-02 | Yes | Yes |
87 | Chapter 2 | The table should have “7” indented one less space. So “7” should be aligned the “9” above it. | Typo | Igor Dvorkin | 2020-09-19 | TBD | TBD |
87 | Chapter 2 | The semicolon is missing after x-=2 | Typo | Tawanda Douglas Muringani/a> | 2017-03-10 | TBD | TBD |
91 | Chapter 2 | In table 2.5, the second table header should be “Allows unlabeled break” | Factual | Matt Road | 2015-10-02 | Yes | Yes |
95 | Chapter 2 Mock Question | #6 – The code on line 6 should say “Just Right” rather than “Just right”. | Typo | Igor Soudakevitch | 2016-11-19 | Pending | No |
96 | Chapter 2 Mock Question | #8 – Answers C & E are duplicates. Conveniently, they are both wrong so this doesn’t affect the answer. | Typo | Mushfiq Mammadov | 2015-04-06 | Yes | Yes |
102 | Chapter 3 | In the third to last paragraph “of type name” should be “named name” | Typo | Charles O’Leary | 2017-05-07 | No | No |
107 | Chapter 3 | The type of the second parameter for indexOf() should be an int. Also, the first parameters is an int, not a char. (But on the exam, you’ll only be passed a char.) Note: this was partially correct in the second printing. | Typo | Mushfiq Mammadov | 2015-04-08 | Yes | Partially |
107 | Chapter 3 | The return type for the substring() methods should be String not int. | Typo | Cedric Georges | 2015-03-18 | Yes | Yes |
108 | Chapter 3 | The method signatures for toLowerCase() and toUpperCase() are wrong. They do not take a String parameter. | Typo | Mushfiq Mammadov | 2015-04-08 | Yes | Yes |
108 | Chapter 3 | In the fifth paragraph, “second example in this set throws an exception because the indexes can be backward” should be “can’t” | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
109 | Chapter 3 | The method signature for equals() takes an Object, rather than a String. This also could use some explanation that on the exam, you’ll only get passed a String even though the method allows anything to be passed in. (As you might guess, if you pass anything that isn’t a String, the method returns false). Similarly, other methods allow any CharSequence, but you only have to know String. | Typo | Mushfiq Mammadov | 2015-04-08 | Yes | Yes |
111 | Chapter 3 | String result = lowercase.replace(‘a’, ‘A’); incorrectly shows the output as “Animal”. It should be “AnimAl” | Wrong output | Chris Kuyler | 2015-01-26 | Yes | Yes |
111 | Chapter 3 | In the third paragraph, the sentence that begins with “It also creates” should end with “AnimAl” instead of “Animal” as should the comment | Wrong output | Tomas Castagnino | 2017-05-20 | No | No |
111 | Chapter 3 | In the third paragraph, there is a stray quote. “‘C’ should be ‘C’ | Typo | Mushfiq Mammadov | 2015-04-15 | Yes | Yes |
115 | Chapter 3 | On line 6, the comment should have a dash at the end | Typo | Mushfiq Mammadov | 2015-07-10 | Yes | Yes |
118 | Chapter 3 | In the code example, line 7 should have been t1 == t3. It’s not wrong as is, but not what we intended | Typo | Mushfiq Mammadov | 2015-07-06 | Yes | Yes |
120 | Chapter 3 | On the first line, “set all the elements” should be “all elements are set” | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
120 | Chapter 3 | On the first line, “set all the elements” should be “all elements are set” | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
123 | Chapter 3 | “element of number to 5” should be “element of numbers to 5” | Typo | Lake Greene | 2020-12-26 | Yes | Yes |
124 | Chapter 3 | Instead of “variable” for length, it should say “field” | Typo | Roel De Nijs | 2015-08-01 | Yes | Yes |
124 | Chapter 3 | There is a stray “L” at the beginning of the second line of the for loop. | Typo | Chris Kuyler | 2015-01-26 | Yes | Yes |
125 | Chapter 3 | In the last paragraph, “line 5 searches for the index of 1” should be “line 6”. | Typo | Elena Felder | 2015-04-01 | Yes | Yes |
126 | Chapter 3 | In the first paragraph, “line 3 (or 4) gave the wrong answer” should be line 7. | Typo | Mushfiq Mammadov | 2015-04-15 | Yes | No |
126 | Chapter 3 | The second to last sentence of the second to last paragraph should end with “the target is in” rather than “the target it is” | Typo | Igor Soudakevitch | 2016-11-19 | Pending | No |
126 | Chapter 3 | The type of numbers should be int[] rather than int. | Typo | Cedric Georges | 2015-03-24 | Yes | Yes |
127 | Chapter 3 | On line 5, “There'” should be “There’s” | Typo | Olivier Ska | 2016-11-17 | Reported | No |
127 | Chapter 3 | The variable in the last line of code should be “differentSizes” rather than “different size” | Typo | Igor Soudakevitch | 2016-11-19 | Pending | No |
129 | Chapter 3 | The first import is missing the semicolon. | Typo | Mushfiq Mammadov | 2015-04-15 | Yes | Yes |
136 | Chapter 3 | In the last paragraph of the Autoboxing section, “outputs 1” should be “outputs [1] | Typo | Mushfiq Mammadov | 2015-03-07 | Yes | Yes |
137 | Chapter 3 | In the second paragraph, “is also known a backed List” should be “is also known as a backed List” | Typo | Ian Gatenby | 2017-03-16 | No | No |
137 | Chapter 3 | In the comment on line 26, “UnsupportedOperation Exception” should be “UnsupportedOperationException” | Typo | Philippe De Neve | 2017-06-19 | No | No |
138 | Chapter 3 | On the sixth line of code the // is missing after the semicolon | Typo | Igor Soudakevitch | 2016-11-19 | Yes | Yes |
141 | Chapter 3 | Month.January should be Month.JANUARY | Typo | Murat | 2018-12-15 | No | No |
141 | Chapter 3 | The last method signature is missing the variable name time. (The data type is there though). | Typo | Cedric Georges | 2015-03-23 | Yes | Yes |
141 | Chapter 3 | In the code example, a semicolon is missing when creating the LocalDate | Typo | Mushfiq Mammadov | 2015-03-23 | Yes | Yes |
142 | Chapter 3 | In the first paragraph, Calendar was introduce in 1.2, not 1.1. | Typo | Igor Soudakevitch | 2016-11-19 | Pending | No |
143 | Chapter 3 | In the second to last example, date 2 should be date. | Typo | Mushfiq Mammadov | 2015-04-15 | Yes | Yes |
146 | Chapter 3 | LocalDateTime has a toEpochSecond() method, not a toEpochTime() method | Wrong API | Cedric Georges | 2015-03-28 | Yes | Yes |
147 | Chapter 3 | wrong = Period.ofWeeks(7); –> should be replaced with : wrong = Period.ofWeeks(1); | Typo | Cedric Georges | 2015-03-23 | Yes | Yes |
148 | Chapter 3 | The line with LocalDateTime is missing a line break before the println | Typo | Scott Selikoff | 2015-08-28 | Yes | Yes |
150 | Chapter 3 | In the dd description, it should say single-digit date rather than month | Typo | Mushfiq Mammadov | 2015-04-15 | Yes | Yes |
168 | Chapter 4 | In the first paragraph of “Optional Specifiers”, it says “And since it is optional, you can’t have any of them at all.” This should say “And since it is optional, you are allowed to not have any of them at all.” Bad English on our part! | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
170 | Chapter 4 | the long() method has a stray ] at the end of of it | Typo | Helen Colson | 2014-05-15 | Yes | Yes |
170 | Chapter 4 | the long() method doesn’t compile both because of the return type and the method name. (A better name for the method would have been better, such as longMethod.) | Typo | Mathias Bader | 2014-04-13 | Yes | Yes |
172 | Chapter 4 | The f irst sentence after three lines of code says: “Walk1() is a valid method declaration without an empty method body.” It should be “with”. | Typo | Mathias Bader | 2014-04-14 | Yes | Yes |
172 | Chapter 4 | public void walk2; should be public void walk2(); | Typo | Mushfiq Mammadov | 2014-09-04 | Yes | Yes |
173 | Chapter 4 | Second line before heading: “Line 20 calls a vararg parameter two parameters” should be “Line 20 calls a vararg method with two parameters.” | Typo | Mathias Bader | 2014-04-14 | Yes | Yes |
178 | Chapter 4 | In the comment on line 3, “bird” should be “Bird” | Typo | Igor Soudakevitch | 2016-11-27 | Pending | No |
179 | Chapter 4 | “Bird is not a subclass of Bird” should say “Bird is not a subclass of Goose” | Typo | Jan Stückrath | 2016-01-19 | Yes | Yes |
184 | Chapter 4 | Line 14 of the code is missing the type. It should be double | Typo | Mushfiq Mammadov | 2014-04-21 | Yes | Yes |
184 | Chapter 4 | Table 4.3 is incorrect (and confusing.) An instance method or variable can be called using a reference variable from any context. Was trying to convey that you can call a static method from an instance method but not vice versa (when no reference variables are involved) | Confusing/incorrect table | Suresh Regmi | 2015-07-24 | Yes | Yes |
187 | Chapter 4 | In the big paragraph, the last sentence should say “when static imports shine” rather than “when static interfaces shine” | Typo | Mike Kenyon | 2017-08-27 | No | No |
188 | Chapter 4 | The last line should read newNumber(num) to be a proper example of pass by value | Typo | Mushfiq Mammadov | 2015-04-28 | Yes | Yes |
191 | Chapter 4 | In the fourth paragraph, fifth sentence, “numbers” should be “number” | Typo | Mushfiq Mammadov | 2015-04-28 | Yes | Yes |
191 | Chapter 4 | In the first sentence of the overloading methods section, it should say “same name” not “same signature” | Typo | Mushfiq Mammadov | 2015-04-27 | Yes | Yes |
192 | Chapter 4 | “everything other than the method signature can vary for overloaded methods”. This should be method name and not method signature. | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
192 | Chapter 4 | The fly methods that take and int and short should print different things. In particular, the first should print int. | Typo | Mathias Bader | 2014-04-14 | Yes | Yes |
194 | Chapter 4 | There should be space at the end of both example outputs. In the second paragraph “string object” should be “string object ”. In the second paragraph of “Primitives” section “int long” should be “int long ” and “long long” should be “long long ”. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. | Typo | Mushfiq Mammadov | 2015-04-27 | Yes | Yes |
199 | Chapter 4 | “When overloading methods, the method name and parameter list needed to match.” is incorrect. Just the method name needed to match. The whole point is that the parameter list does not match! | Incorrect fact | Elena Felder | 2015-04-04 | Yes | Yes |
203 | Chapter 4 | In the third sentence “lines 4 and 5 should be “lines 4, 5 and 6” when referring to the static initializer. In the second printing it says lines 5 and 6. | Typo | Mushfiq Mammadov | 2014-09-04 | Yes | Partially |
204 | Chapter 4 | After “output Torchie”, it should say “Line 6 then outputs 1.” In the second printing, the period is missing | Typo | Steve Aaron | 2015-04-02 | Yes | Partially |
206 | Chapter 4 | Table 4.5 is incorrect. It is legal (but less common) for a boolean getter to begin with get rather than is. This means that line 14 is just fine as a boolean getter. | Incorrect fact | I Danilov | 2015-03-17 | Yes | Yes |
209 | Chapter 4 | “that that” has a duplicate word on the seventh line | Typo | Mushfiq Mammadov | 2014-09-04 | Yes | Yes |
210 | Chapter 4 | The example with line numbers 1-18 should either include the java.util import or not start with line 1. | Missing import | Mushfiq Mammadov | 2015-05-01 | Yes | Yes |
211 | Chapter 4 | “Java replies” should be “Java relies”. | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
211 | Chapter 4 | The first code example under Lambda Syntax (canHop) should not have a semi-colon. | Typo | Mushfiq Mammadov | 2014-09-04 | Yes | Yes |
213 | Chapter 4 | “Lambdas are allowed to access variables” is in the real world scenario twice. The first sentence should be removed. | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
216 | Chapter 4 | In the summary section, (a -> a.equals(b) has an extra open paren. It should be a-> a.equals(b) | Typo | Mushfiq Mammadov | 2015-05-01 | Yes | Yes |
219 | Chapter 4 | #7 – ClassRoom should be Classroom. The actual code is correct. | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
219 | Chapter 4 | #7 – In line 6, there is an extra quote. | Typo | Mathias Bader | 2014-04-14 | Yes | Yes |
222 | Chapter 4 | #11 – answers D and E should have an extra space at the end | Missing spaces | Mushfiq Mammadov | 2015-05-01 | Yes | Yes |
226 | Chapter 4 | #19 – In the choice G, the closing > is missing. Give yourself if you got the answer right except for leaving out G. | Typo | Mushfiq Mammadov | 2015-05-01 | Yes | Yes |
229 | Chapter 4 | #25 – answers A through D should have an extra space at the end | Missing spaces | Mushfiq Mammadov | 2015-05-01 | Yes | Yes |
229 | Chapter 4 | #25 – 1000L should be 100L. This doesn’t affect the correct answer. | Typo | Mushfiq Mammadov | 2015-12-19 | Yes | Yes |
237 | Chapter 5 | In the paragraph after the note, the second sentence should not say “can be accessed only by a subclass”. That would be protected, default access. | Incorrect fact | Willyan Silva | 2016-02-03 | Pending | No |
239 | Chapter 5 | “user” should be “use” in “Notice the user of both super() and super(age)” | Typo | Cedric Georges | 2015-05-14 | Yes | Yes |
241 | Chapter 5 | In the last sentence of paragraph 2, “Java compile” should be “Java compiler” | Typo | Igor Soudakevitch | 2016-11-27 | Pending | No |
246 | Chapter 5 | The phrase “a method” is duplicated near the end of the page | Typo | Mushfiq Mammadov | 2015-05-10 | Yes | Yes |
247 | Chapter 5 | The numbers output should be 50.0 and 70.0, not 50.00 and 70.00 | Typo | Mushfiq Mammadov | 2015-05-10 | Yes | Yes |
249 | Chapter 5 | In “since the signature changes from a no-argument constructor to a constructor”, the word “constructor” should be “method” both times. | Typo | Peter Deak | 2016-02-18 | Yes | Yes |
249 | Chapter 5 | “the return type void is not a subclass of int” is reversed. Swap int and void in the sentence | Typo | Cedric Georges | 2015-05-14 | Yes | Yes |
249 | Chapter 5 | In the last paragraph, “on the example” should be “on the exam” | Typo | Jan Stückrath | 2016-01-19 | Yes | Yes |
254 | Chapter 5 | “Overriding vs. Hiding Methods” section, the second paragraph, the second sentence should refer to super rather than a static method to refer to a superclass method. | Typo | Mushfiq Mammadov | 2015-05-14 | Yes | Yes |
261 | Chapter 5 | In the first sentence, “brackets” should be “braces”. (<> are braces, [] are brackets) | Typo | Elena Felder | 2015-04-04 | Yes | Yes |
262 | Chapter 5 | In the second paragraph, “access modified” should be “access modifier” | Typo | Unknown user | 2018-07-28 | Yes | No |
263 | Chapter 5 | The second to last sentence in the second paragraph should read “The key point is that the first concrete class to extend the abstract class must implement all inherited abstract metthods. | Typo | Bram Vonk | 2015-12-15 | Yes | Yes |
265 | Chapter 5 | The third rule for abstract classes is incomplete. You aren’t allowed protected abstract classes either. Protected classes aren’t on the exam, but the protected keyword is so a reader might be wondering. Protected inner abstract classes, as well as private, are allowed, so page should be updated to remove private, not add protected. | Incomplete statement | Ben Pittens | 2016-01-15 | Yes | Yes |
267 | Chapter 5 | The fourth rule for interfaces is incorrect. An interface is allowed to (but discouraged) from having the abstract modifier. It’s use is discouraged although you may see it in the cert exam. | Incorrect fact | I Danilov | 2015-03-18 | Yes | Yes |
269 | Chapter 5 | “using the extend keyword” should be “using the extends keyword” | Typo | Cedric Georges | 2015-06-04 | Yes | Yes |
272 | Chapter 5 | The second Bear class should have //DOES NOT COMPILE on line 1 as well. | Typo | Mushfiq Mammadov | 2015-09-29 | Yes | Yes |
274 | Chapter 5 | “The compile will” should be “The compiler will” | Typo | Cedric Georges | 2015-06-04 | Yes | Yes |
276 | Chapter 5 | At the bottom of the page, “the following class” should say “the following interface” | Typo | Mushfiq Mammadov | 2015-09-29 | Yes | Yes |
285 | Chapter 5 | At the bottom of the page, the coding “Feeding reptile” should be “Feeding: “ | Typo | Mushfiq Mammadov | 2015-09-29 | Yes | Yes |
289 | Chapter 5 | It would be clearer if “Parent methods and objects can be accessed explicitly using the super keyword.” was “Parent methods and instance variables can be accessed explicitly using the super keyword.” | Typo | Juliet Smith | 2015-08-04 | Pending | No |
337 | Chapter 5 | In the polymorphism exam essentials, “the ability of methods” should be “the ability of method parameters” | Typo | Vlad Alin | 2021-12-07 | No | No |
290 | Chapter 5 | The last word on the page should be “ClassCastException” rather than “CastClassException” | Typo | Juliet Smith | 2015-08-04 | Pending | No |
291 | Chapter 5 | #2 – Choice E should reference line 7, not line 8 | Typo | Mushfiq Mammadov | 2015-05-15 | Yes | Yes |
294 | Chapter 5 | #10 – In choice C, “extend” should be “extends” | Typo | Roel De Nijs | 2015-09-29 | Yes | Yes |
295 | Chapter 5 | #13 – The < is missing on line 1 of the provided code | Typo | Mushfiq Mammadov | 2015-05-15 | Yes | Yes |
301 | Chapter 6 | mainmethod.Zoo.main should be Zoo.main and line 7 should be line 4 in the stack trace | Typo | Mushfiq Mammadov | 2015-10-06 | Reported | No |
308 | Chapter 6 | “The catch block runs and she gets a hug on line 17. Then the try statement is over and the code proceeds on line 21. ” – This misses the fact that finally is run first. | Incorrect fact | Habtamu Abebe | 2017-10-28 | No | No |
311 | Chapter 6 | “making sure there no way” should be “making sure there is no way” | Typo | Tom Jacobs | 2019-01-20 | No | No |
312 | Chapter 6 | The text says the exception is not caught from close(), but it is. | Old text | Cedric Georges | 2015-07-26 | Reported | No |
313 | Chapter 6 | On the first line “runs after the try block” should be “runs after the catch block” | Typo | Mushfiq Mammadov | 2015-10-06 | Pending | No |
313 | Chapter 6 | There should be spaces in the before/catch/etc example. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. | Typo | Saad Benbouzid | 2015-07-24 | Yes | Yes |
314 | Chapter 6 | In the ClassCastException section, “cast an exception to a subclass” should be “cast an object to a subclass” | Typo | Vince Botteman | 2015-06-17 | Yes | Yes |
316 | Chapter 6 | The setNumberEggs method should not be static | Typo | Mushfiq Mammadov | 2015-10-06 | Pending | No |
317 | Chapter 6 | “Common runtime exceptions” should be “Common checked exceptions” | Typo | Vince Botteman | 2015-06-17 | Yes | Yes |
335 | Chapter 1 mock explanation | #12 – “If this question were about instance variables, options D and F would be correct”. This should be “options C, D and F would be correct” | Error in mock explanation | Olivier Ska | 2016-11-17 | Pending | No |
335 | Chapter 1 mock explanation | #12 – the explanation should end with “0.0f” rather than “0.0” | Error in mock explanation | Guram Savinov | 2017-11-14 | Pending | No |
335 | Chapter 1 mock explanation | #14 – The answer is correct. The explanation about case sensitivity applies to why C is wrong rather why B is wrong | Error in mock explanation | Mushfiq Mammadov | 2015-03-20 | Yes | Yes |
337 | Chapter 2 mock explanation | #7 – The answer is correct. The explanation should say “Since x is greater than 4″ rather than “Since x is greater than 2”. – not an error | Error in mock explanation | Vlad Alin | 2021-12-07 | No | N/A |
338 | Chapter 2 mock explanation | #13 – The answer is correct. The explanation should say “b is assigned true on line 5″ instead of “b is assigned true on line 3”. | Error in mock explanation | Shavkat Juraev | 2018-02-11 | No | No |
338 | Chapter 2 mock explanation | #14 – The answer is correct. The second sentence should say “so c is incremented to 8” not “so c is incremented to 4” | Error in mock explanation | Scott Selikoff | 2018-12-05 | No | No |
338 | Chapter 2 mock explanation | #14 – The answer is correct. The explanation should say “The value of result is computed by adding 8 to the original value of 4” rather than the other way around. | Error in mock explanation | Steve Aaron | 2015-04-02 | Yes | Yes |
338 | Chapter 2 mock explanation | #17 – The answer is correct. The explanation should say “keepGoing remains true” rather than “keep going is false. | Error in mock explanation | Mushfiq Mammadovand Cian Gardiner | 2015-04-07 | Reported | Yes |
338 | Chapter 2 mock answer | #18 – The answer explanation is correct that the answer should be B. It is incorrectly listed as choice A in the answer listing. | Error in mock explanation | Dominik Bauer | 2015-04-30 | Reported | No |
338 | Chapter 2 mock explanation | #18 – The first sentence should be “The expression on line 6” rather than “The expression on line 5” | Error in mock explanation | Olivier Ska | 2016-11-17 | Pending | Yes |
339 | Chapter 2 mock explanation | #19 – The answer is correct. The second to last sentence of the explanation should say “6 > 7” rather than “6 < 7”. | Error in mock explanation | Christian Dadulla | 2018-02-01 | No | No |
339 | Chapter 3 mock explanation | #2 – The answer is correct. The explanation should say “Line 8 also compares references but is true since both references point to the object from the string pool. Finally, line 9 compares one object from the string pool with one that was explicitly constructed and returns false.”. | Error in mock explanation | Cedric Georges | 2015-03-29 | Yes | Yes |
340 | Chapter 3 mock explanation | #4 -abbbaa has an extra b. There should only be two b’s. | Typo | Mushfiq Mammadov | 2015-03-23 | Yes | Yes |
340 | Chapter 3 mock explanation | #9 -“Finally, on line 6” should be “Finally, on line 7” | Typo | Charles O’Leary | 2017-05-20 | No | No |
340 | Chapter 3 mock explanation | #10 – The answer is correct. The explanation should read “The if statement on line 18 returns true because”. | Error in mock explanation | Cedric Georges | 2015-03-29 | Yes | Yes |
341 | Chapter 3 mock explanation | #14 – The answer is correct. The explanation assumes choice B is puzzle.reverse().append(“vaJ$”).substring(0, 4); So while the answer choice for B in the book isn’t what was intended, it is at least still wrong. | Error in mock explanation | Mushfiq Mammadov | 2015-04-20 | Yes | Yes |
341 | Chapter 3 mock explanation | #14 – In the second printing, the answer is correct. The explanation should say that length counts the number of characters in a string. | Error in mock explanation | Roel De Nijs | 2015-04-20 | Yes | Yes |
342 | Chapter 3 mock explanation | #26 – The answer is correct. The explanation should say that the code does compile, not that it doesn’t. | Error in mock explanation | Cedric Georges | 2015-03-30 | Yes | Yes |
344 | Chapter 4 mock answers | #9. The correct answer is A, C and E. But if you got C and E, give yourself credit for getting it correct. The chapter text is incorrect on this, but the exam doesn’t cover this edge case. (In fact, it doesn’t cover JavaBeans at all. That is in the book, in case it is added back in). | Error in mock answer | I Danilov | 2015-03-17 | Yes | Yes |
344 | Chapter 4 mock explanation | #10, should say “swing ” instead of “swing” (missing space) | Typo | Mushfiq Mammadov | 2015-05-01 | Yes | Yes |
344 | Chapter 4 mock explanation | #15 – We autobox to objects so it should say “can be autoboxed to a Boolean” rather than “boolean.” And “autoboxed to a Double” rather than “double”. | Error in mock explanation | Elena Felder | 2015-04-04 | Yes | Yes |
344 | Chapter 4 mock explanation | #17 – “pass by reference” should be “pass by value” | Typo | Mushfiq Mammadov | 2014-09-04 | Yes | Yes |
345 | Chapter 4 mock explanation | #23 line 4 should say line 12 and line 5 should say line 13 | Error in mock explanation | Mushfiq Mammadov | 2015-05-01 | Yes | Yes |
346 | Chapter 5 mock explanation | #2 – The answer is correct. The comment about what would happen if the code did compile is incorrect. The code was intended to instantiate a Platypus rather than a Mammal | Error in mock explanation | Paul F.J. Aranas | 2015-05-15 | Yes | Yes |
347 | Chapter 5 mock explanation | #3 – CanHope should be CanHop | Typo | Mushfiq Mammadov | 2015-05-15 | Yes | Yes |
347 | Chapter 5 mock explanation | #8 – The first sentence should note that that constants are also final in an interface | Typo | Mushfiq Mammadov | 2015-09-29 | Yes | Yes |
348 | Chapter 5 mock explanation | #18 – The answer should say that String is not a subclass of int rather than the reverse | Typo | Mushfiq Mammadov | 2015-09-29 | Yes | Yes |
350 | Chapter 6 mock explanation | #8 – “try try” should be “the try” | Typo | Mushfiq Mammadov | 2015-05-24 | Yes | Yes |
350 | Chapter 6 mock explanation | #9 – there should be space at the end of both example outputs. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. | Typo | Mushfiq Mammadov | 2015-05-24 | Reported | No |
355 | Appendix | In the second to last paragraph, “to the take the exam” should be “to take the exam” | Typo | Mario Rincon | 2018-10-03 | Reported | No |
The question that contains LocalDate d = LocalDate.of(2015, 5); should be LocalDate d = LocalDate.of(2015, 5, 1);. As worded now the answer is E (does not compile) which is not the intent.
(duplicate of following line)
Want to report an errata? Post it at the OCA forum at CodeRanch.