Dimensões da matriz de char 2d de ArrayDeque objecto

votos
-1

I ter um método que utiliza um char [] [] como um parâmetro (basicamente uma grade NxN de caracteres) e é utilizando um ArrayDeque a fim de olhar através de toda a matriz 2d. Quero a linha e a coluna de um char [] [] objecto removido da ArrayDeque, e actualmente utilizam este:

             ArrayDeque stack=new ArrayDeque();
             stack.push(grid[0][0]); //grid being the 2d array passed to the method
             char[][] temp=(char[][]) stack.pop(); 
             int row=temp.length-1;
             int column=temp[0].length-1;

Isso compila em Eclipse, mas quando executado joga uma ClassCastException. Existe uma maneira de obter a linha e coluna, sem o caso char [] [] na segunda linha acima?

Publicado 26/10/2015 em 20:34
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

O que está a ArrayDequefazer? Nada! Você pode adicionar um valor e você levá-la de volta.

Embora, assumindo que gridé um char[][], e sabendo que push()tem um Object, é implicitamente auto-boxing o valor.

Em suma, o que você recebe é:

temp = (char[][])Character.valueOf(grid[0][0])

Você está lançando um Charactera um char[][], então é claro que você tem uma ClassCastException.

Respondeu 26/10/2015 em 20:42
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more