+1 (980) 272-1787

Results 1 - 10 of 10

Errata Entries Order by:  Page Number  Reported By  Reported On
Pg: 272
Status: Fixed
Fixed in Build: Build 7, 2018-10-20
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: Build 8, 2018-11-20
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 was OK.
Pg: 369
Status: TBF
Fixed in Build: -
Reported On: 2018-12-11
Reported By: Flex567
Location: 12.5.2 - Parts of a Lambda expression
Old Text:
(a, b, c) -> a + b + c; //valid ... a ->a + 2; //valid a - >return a + 2; //invalid, must not have return keyword
New Text:
(a, b, c) -> a + b + c //valid ... a ->a + 2 //valid a - >return a + 2 //invalid, must not have return keyword
Comments:
Sample lambda expressions should not have semi-colons at the end.
Pg: 71
Status: Fixed
Fixed in Build: Build 9, 2018-11-26
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: 66
Status: Fixed
Fixed in Build: Build 7, 2018-10-20
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: 102
Status: To Be Fixed
Fixed in Build: -
Reported On: 2018-12-02
Reported By: Username987654
Location: 4.3.1 - multidimensional-arrays
Old Text:
In para starting with "In this figure...", ia should be iaa.
New Text:

Comments:

Pg: 103
Status: Fixed
Fixed in Build: Build 10, 2018-12-03
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: Build 10, 2018-12-03
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: 120
Status: TBF
Fixed in Build:
Reported On: 2018-12-04
Reported By: Username987654
Location: 5.1.1 - overview-of-operators -- Miscellaneous Operators
Old Text:
It returns true if the object pointed to by the reference variable on the left is of the type (or a subtype) of the type given on the left and false otherwise.
New Text:
It returns true if the object pointed to by the reference variable on the left is of the type (or a subtype) of the type given on the right and false otherwise.
Comments:
In the detail text of instanceof , section left should be right.
Pg: 110
Status: Fixed
Fixed in Build: Build 6, 2018-10-07
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:

Results 1 - 10 of 10