iReport condição equals ou == onde colocar ?[RESOLVIDO]

Olá pessoal do guj tenho um campo string no banco que na maioria das vezes vem com o valor "S.R.O.E"
gostaria que quando for diferente de “R.S.O.E” imprimisse um X. :slight_smile:
como ficaria essa condição ? meu Text Field Expression é o $F{R_FISICO}
Obrigado desde já.

eu uso o ==

funciona bem

$F{R_FISICO}.equals(“R.S.O.E”) ? X : $F{R_FISICO}

Se for comparar Strings use o .equals().

Quando você usa o equals você compara os valores dos objeto, quando comparamos com == é comparado o espaço de memória utilizado.

[code]String ob = new String(“Java”);
String ob2 = new String(“Java”);

if (ob==ob2)[/code]

o resultado desse if será false, porque o espaço de memória que aloca os 2 objetos é diferente.

[code]String ob = new String(“Java”);
String ob2 = new String(“Java”);

if (ob.equals(obs))[/code]

o resultado desse if será true, porque os valores contidos no args de ambos é o mesmo.

Espero ter ajudado

Complementando:
http://www.guj.com.br/java/232671-problema-num-loop#1197044

Valeu ai a dica rdmardegam e ao resto do pessoal mas e no caso
contrario do .equals(“S.R.O.E”) como ficaria o
diferente ? tentei o !=(“S.R.O.E”) mas tambem nao deu certo ?
como é o operador de comparação diferente no ireport ?

!$F{R_FISICO}.equals(“R.S.O.E”) ? X : $F{R_FISICO}

Para casos diferentes, coloque apenas o ! no começo.

Faz um poko de tempo q n mexo com o Ireport, mas acredito que seja assim! Senao funcionar fala ae!

Abraço.

Oi pessoal deu certo mas tive que implementr mais um pouco
fico assim
((!$F{R_FISICO}.equals(“S.R.O.E”) ? “X” :
(($F{R_FISICO}.equals(“S.R.O.E”) ? “” :
$F{R_FISICO}))))

Obrigado galera pela atenção
Resolvido!