Cannot create an array of LinkedLists in Java...?
Solution 1:
For some reason you have to cast the type and make the declaration like this:
myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];
Solution 2:
You can't use generic array creation. It's a flaw/ feature of java generics.
The ways without warnings are:
-
Using List of Lists instead of Array of Lists:
List< List<IntegerNode>> nodeLists = new LinkedList< List< IntegerNode >>();
-
Declaring the special class for Array of Lists:
class IntegerNodeList { private final List< IntegerNode > nodes; }