Page 1 of 7 Results 1 - 10 of 64

Errata Entries Order by:  Page Number  Reported By  Reported On  Fixed In Build
Pg: 110
Status: Fixed
Fixed in Build: 06
Reported On: 2018-10-07
Reported By: Cristian Palau
Location: 5.1.1 - overview-of-operators-available-in-java
Old Text:
System.out.println(false != flag); //comparing a boolean with a Boolean, prints true because flag is false
New Text:
System.out.println(false != flag); //comparing a boolean with a Boolean, prints false because flag is false
Comments:

Pg: 66
Status: Fixed
Fixed in Build: 07
Reported On: 2018-10-20
Reported By: Flex567
Location: 3.3.3 - literals
Old Text:
You cannot start or end a literal with an underscore and cannot use multiple underscores consecutively.
New Text:
You cannot start or end a literal with an underscore. You can also use multiple underscores consecutively. You don't need to worry about the rules governing the usage of underscores in hexadecimal, binary, and octal number formats.
Comments:

Pg: 272
Status: Fixed
Fixed in Build: 07
Reported On: 2018-10-17
Reported By: Arold Aroldson
Location: 10.2.0 - differentiate-among-checked-exceptions-unchecked-exceptions-and-errors
Old Text:
Diagram showing various exceptions shows ClassCastException under checked exceptions
New Text:
Diagram showing various exceptions shows ClassCastException under unchecked exceptions
Comments:
Associated text is correct. Only the diagram is incorrect.
Pg: 292
Status: Fixed
Fixed in Build: 08
Reported On: 2018-11-20
Reported By: --
Location: 10.4 - Exceptions thrown by Application Programmer
Old Text:
$\vert$$\vert$
New Text:
||
Comments:
Mistake in typesetting of the paperback version. Kindle version is fine.
Pg: 71
Status: Fixed
Fixed in Build: 09
Reported On: 2018-11-26
Reported By: Username987654
Location: 3.3.3 - Assigning float to int or double to long and vice-versa
Old Text:
Two errors - 1. Part of the sentence, "Java allows such assignments without a cast because it is possible to get back the exact same int or long value from a float or a double if you round them off." must be removed. 2. The statement, "i = f1; //will not compile" in the code should be removed.
New Text:
Java allows such assignments without a cast nonetheless.
Comments:

Pg: 103
Status: Fixed
Fixed in Build: 10
Reported On: 2018-12-02
Reported By: Username987654
Location: 4.3.1 - multidimensional-arrays
Old Text:
Example 1 has [2][3], while here, it is [2][]...[2] implies that you want to store two references. In other of words, the length of your array (which is of type array of ints) is 2.
New Text:
Example 1 has [2][3], while here, it is [3][]...[3] implies that you want to store three references. In other of words, the length of your array (which is of type array of ints) is 3.
Comments:

Pg: 104
Status: Fixed
Fixed in Build: 10
Reported On: 2018-12-02
Reported By: -
Location: 4.3.1 - multidimensional-arrays
Old Text:
You cannot, however, leave out the size of a higher dimension if you want to specify the size of a lower dimension. For example, you cannot do new int[][2]; This is not possible because the number of int[][] references depends on how many int[] objects do you have. If you have three int[] objects, that means you will have 3x2 = 6 int[][] references. The JVM cannot figure this out without knowing the length of all the higher dimensions.
New Text:
You cannot, however, leave out the size of a higher dimension if you want to specify the size of a lower dimension. For example, you cannot do new int[][2]; The reason is simple - new int[][2] tries to create an array of int[2] objects. But it it does not tell the JVM how many int[2] objects you want to store. Without this information, the JVM has no idea how much space it needs to allocate for this array. On the other hand, new int[2][] is fine because now, you are telling the JVM that you want to create an array of length 2. In this case, the JVM is clear that it needs to allocate space to store 2 references. Remember that the size of a reference doesn't depend on the length of the array to which it points. So, the JVM doesn't care about the length of the arrays to which these two references will refer. It simply allocates space to store 2 references.
Comments:

Pg: 237
Status: Fixed
Fixed in Build: 12
Reported On: 2019-01-04
Reported By: Username987654
Location: 9.1.5 Benefits of Inheritance
Old Text:
For example, in the class hierarchy consisting of the CurrentAccount, SavingsAccount, and RetirementAccount classes...
New Text:
For example, in the class hierarchy consisting of the Account, CheckingAccount, and SavingsAccount classes...
Comments:

Pg: 235
Status: Fixed
Fixed in Build: 12
Reported On: 2019-01-04
Reported By: Username987654
Location: 9.1.3 Inheritance and access modifiers - point 5
Old Text:
Even though the balance field of Account is visible and inherited in RetirementAccount, acct.balance ...
New Text:
Even though the balance field of Account is visible and inherited in RetirementAccount, sa.balance ...
Comments:
acct.balance should be changed to sa.balance
Pg: 208
Status: Fixed
Fixed in Build: 12
Reported On: 2019-01-03
Reported By: Username987654
Location: 8.5.2 Creating constructors
Old Text:
this.someValue = x; //initializing x
New Text:
this.someValue = x; //initializing someValue
Comments:

Page 1 of 7 Results 1 - 10 of 64