TreeNode primefaces

10 respostas
I

Boa tarde, preciso comparar uma String
if(selectedNodesArmasApreendidas[i].getData()==“Procedência”)

if(selectedNodesArmasApreendidas[j].getData().toString() == ==“Procedência”)

as duas condições estão entrando no if, não imporando o valor da String.

10 Respostas

ErickRAR

Comparação de String é feita com o método equals ou esqualsIgnoreCase(esse último não diferencia maiscula de minuscula).

Seria algo como:

if(selectedNodesArmasApreendidas[i].getData().equals("Procedência"))
Hebert_Coelho

Nunca, mas nunca mesmo compare objetos com ==.

Altere como o ErickRAR falou e fale o resultado.

I

Tbm estou comparando com equals, (selectedNodesArmasApreendidas[i].getData().toString().equals(“Procedência”))
(selectedNodesArmasApreendidas[i].getData().equals(“Procedência”))

tbm não tive resultado

Hebert_Coelho

Coloque para imprimir o valor no console.
Veja o que está no selectedNodesArmasApreendidas

I
coloquei

if(selectedNodesArmasApreendidas[i].getData().equals(Procedência));

{

System.out.println(selectedNodesArmasApreendidas[i].getData());

System.out.println(procedencia);

};

a saida é
Armas de Fogo
procedencia

ErickRAR

Tira esse ; depois do seu if.

Hebert_Coelho
<blockquote><div class="quote-author">infoporto:</div>coloquei

if(selectedNodesArmasApreendidas[i].getData().equals(Procedência));

{

System.out.println(selectedNodesArmasApreendidas[i].getData());

System.out.println(procedencia);

};

a saida é
Armas de Fogo
procedenciaCara, na boa… System.out.println(“procedencia”); se não imprimisse procedencia o java teria muito errado.

Se isso aqui selectedNodesArmasApreendidas[i].getData() ta imprimindo armas de fogo o java está correto não falar que está igual ao Procedência…

Qual seria o erro então?

I

aconteceu a mesma saida quando coloquei o println fora do if

ErickRAR

O problema é que tem um ; depois do seu if.

if(selectedNodesArmasApreendidas[i].getData().equals("Procedência"));
{ 
 System.out.println(selectedNodesArmasApreendidas[i].getData()); 
 System.out.println("procedencia"); 
 };
Equivale a isso:
if(selectedNodesArmasApreendidas[i].getData().equals("Procedência")) {
 //if vazio
}

{ //fora do if. Sempre imprimirá o que colocar aqui.
 System.out.println(selectedNodesArmasApreendidas[i].getData()); 
 System.out.println("procedencia"); 
 };
Você tem que tirar esse ; que está depois do if. Ele ficará assim:
if (condição) {
 //fazer o que quer fazer
}
I

Obrigado pessoal, deveria ter mais atenção.

Criado 15 de agosto de 2012
Ultima resposta 16 de ago. de 2012
Respostas 10
Participantes 3