Page 1 of 5 Results 1 - 10 of 49

Errata Entries Order by:  Page Number  Reported By  Reported On
Pg: 68
Status: Fixed
Fixed in Build: Build 14, 2019-01-26
Reported On: 2019-01-10
Reported By:
Location: 3.3.3 - Assigning values to variables - primitive assignment
Old Text:
For example, you know that the size of a byte (8 bits) is smaller than the size of an int (16 bits)
New Text:
For example, you know that the size of a byte (8 bits) is smaller than the size of an int (32 bits)
Comments:

Pg: 103
Status: Fixed
Fixed in Build: Build 16, 2019-03-04
Reported On: 2019-02-07
Reported By: Username987654
Location: 4.3.1
Old Text:
iaa[0] = new int[2]; //ia[0] points to an array of ints of length 2 iaa[1] = new int[3]; //ia[1] points to an array of ints of length 3
New Text:
iaa[0] = new int[2]; //iaa[0] points to an array of ints of length 2 iaa[1] = new int[3]; //iaa[1] points to an array of ints of length 3
Comments:
ia should be iaa (in 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: 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 is fine.
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: 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:

Pg: 116
Status: TBF
Fixed in Build: -
Reported On: 2019-10-06
Reported By: Fedor Lvovich Dobrotvorskii
Location: Assignment Operators
Old Text:
Simple assignment - It simply copies the value on the left to the variable on the right.
New Text:
Simple assignment - It simply copies the value on the right to the variable on the left.
Comments:
left and right are switched.
Pg: 126
Status: TBF
Fixed in Build: -
Reported On: 2019-10-06
Reported By: Fedor Lvovich Dobrotvorskii
Location: 5.1.5 Numeric promotion and casting
Old Text:
byte b = 1; short s = -b; System.out.println(b);
New Text:
byte b = 1; short s = -b; System.out.println(s);
Comments:
It should print s instead of b.
Pg: 142
Status: TBF
Fixed in Build: -
Reported On: 2019-10-12
Reported By: Fedor Lvovich Dobrotvorskii
Location: Dangling else
Old Text:
If we go by the first interpretation, the code will print b, and ...
New Text:
If we go by the first interpretation, the code will print c, and ...
Comments:
b should be changed to c
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:

Page 1 of 5 Results 1 - 10 of 49