Exception in thread “main” java.lang.ClassCastException: [[Ljava.lang.String; cannot be cast to [[Ljava.lang.Boolean;
como faço para fazer cast de uma matriz de object para outra de outro tipo?
qualquer ideia ja ajuda ^^
Exception in thread “main” java.lang.ClassCastException: [[Ljava.lang.String; cannot be cast to [[Ljava.lang.Boolean;
como faço para fazer cast de uma matriz de object para outra de outro tipo?
qualquer ideia ja ajuda ^^
bem… manda o codigo que sera mais facil de ajudar…
o erro pelo que eu vi… é que tu não pode mudar uma linha para uma afirmação(verdadeiro e falso)
String é uma linha
boolean é uma condição(no caso pense em uma lampada… ou ela esta acesa ou apagada)
é a unica coisa que posso te passar sem ver o codigo
Shogogan
public E[][] transposicao(Object[][] matriz, int lin, int col, String operacao)
{
E X = null;
E[][] aux = operacoes.tipo_tado(X, lin, col, operacao);// define aux como Boolean essa tipo_tado
for (int i=0; i<col; i++)
{
for (int j=0; j<lin; j++)
{
aux[j][i] = (E) matriz[i][j]; //ele nao faz essa parte, pula direto
System.out.print(aux[i][j]+" ");
}
System.out.println("");
}
return aux;
}
parcialmente, acho que resolvi minha duvida:
posso substituir aquele object por String, e usar Wrappers para transformar String em int, float, double, byte, boolean, e na propria string...
porem, como faço "cast", ou wrapper de String para character???
é o ultimo tipo que vai faltar
ta certo que fazer 7 if's e elses é meio gambiarra, mas como o unico meio que conheço para resolver isso é wrapper...
Cara, você tá sofrendo demais porque você quer fazer mais de uma coisa no mesmo método. Faça a transposição da matriz em um método e a impressão em um método separado. Você será bem mais feliz.
tipo… não entendi direito o codigo mais deixa xD
pra ti transformar uma String em char é so por um
.toCharArray();
se eu não me engano é isso
Wrappers funcionam apenas para os tipos primitivos.
No caso de String voce pode usar o toCharArray para atribuir a um char[]
E para os tipos numericos com o parse da classe correspondente.
String s = "0";
int i = Integer.parseInt(s);
float f = Float.parseFloat(s);
double d = Double.parseDouble(s);
long l = Long.parseDouble(s);
char c = Character.parseChar(s);
char c2 = s.charAt(0);//retorna o primeiro char
char[] chars = s.toCharArray();