TreeNode primefaces

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.

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")) 

Nunca, mas nunca mesmo compare objetos com ==.

Altere como o ErickRAR falou e fale o resultado.

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

tbm não tive resultado

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

coloquei
if(selectedNodesArmasApreendidas[i].getData().equals(“Procedência”));
{
System.out.println(selectedNodesArmasApreendidas[i].getData());
System.out.println(“procedencia”);
};

a saida é
Armas de Fogo
procedencia

Tira esse ; depois do seu if.

[quote=infoporto]coloquei
if(selectedNodesArmasApreendidas[i].getData().equals(“Procedência”));
{
System.out.println(selectedNodesArmasApreendidas[i].getData());
System.out.println(“procedencia”);
};

a saida é
Armas de Fogo
procedencia[/quote]Cara, 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?

aconteceu a mesma saida quando coloquei o println fora do if

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:

[code]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”);
};
[/code]

Você tem que tirar esse ; que está depois do if. Ele ficará assim:


if (condição) {
 //fazer o que quer fazer
}

Obrigado pessoal, deveria ter mais atenção.