Why do I get a compilation error when I cast a long[] to an int[]?
You have to know what it means to cast from one array type to another, Such a cast applies to the reference to the array; the cast does not apply to the elements of the array. You cannot cast a reference to an array of longs into a reference to an array of ints, because the array itself remains an array of longs. Java does not allow you to cast a reference to an array of primitives to a reference to an array of any other type. Instead of casting the array reference, you can make a new array and cast the elements as you copy them into the new array. Note that you must write a loop for this yourself; System.arraycopy() will not copy an array of one primitive type to an array of another type. • (Sect. 6) Why do I get a ClassCastException when I cast a Superclass[] to Subclass[]? You have to know what it means to cast from one array type to another. Such a cast applies to the reference to the array; the cast does not apply to the elements of the array. The cast will fail if the array objec