I'm working on a sparse matrix class that needs to use an array of LinkedList
to store the values of a matrix. Each element of the array (i.e. each LinkedList
) represents a row of the matrix. And, each element in the LinkedList
array represents a column and the stored value.
In my class, I have a declaration of the array as:
private LinkedList<IntegerNode>[] myMatrix;
And, in my constructor for the SparseMatrix
, I try to define:
myMatrix = new LinkedList<IntegerNode>[numRows];
The error I end up getting is
Cannot create a generic array of
LinkedList<IntegerNode>
.
So, I have two issues with this:
IntegerNode
is a class that I have created. And, all of my class files are packaged together.
For some reason you have to cast the type and make the declaration like this:
myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];