java - HashSet "cannot convert from element type Object to Integer" when expecting a HashSet of Integer -


in following code expect pn.get(8).get(8) return array of integers (in example length of array 1, in program it's longer). instead array of objects.

can please tell me why , i'm doing wrong.

arraylist<arraylist<hashset<integer>>> pn =     new arraylist<arraylist<hashset<integer>>>();  (int x = 0; x < 9; x++)  {     pn.add(x, new arraylist<hashset<integer>>());      (int y = 0; y < 9; y++) {         pn.get(x).add(y, new hashset<integer>());         pn.get(x).get(y).add(new integer(x));     } }   (integer i: pn.get(8).get(8).toarray()) {     system.out.println(i); } 

all need remove toarray() call in for statement, returning object[] instead of integer[] might have expected. artifact of how java implements generics using type erasure. run time, jvm doesn't know hashset of type integer, toarray() has return array of object[].

thankfully, hashset can iterated directly toarray() call unnecessary. following works me:

arraylist<arraylist<hashset<integer>>> pn = new arraylist<arraylist<hashset<integer>>>();  (int x = 0; x < 9; x++)  {     pn.add(x, new arraylist<hashset<integer>>());      (int y = 0; y < 9; y++) {         pn.get(x).add(y, new hashset<integer>());         pn.get(x).get(y).add(new integer(x));     } }   (integer i: pn.get(8).get(8)) {     system.out.println(i); } 

Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -