fabiel:
Inton fora a “}” que vc esqueceu vc esta querendo comparar uma String desse modo, acho que não é bem assim
if (acesso.getCompromisso()=="")
eu costumo fazer assim
if("".equalsIgnoreCase(acesso.getCompromisso())
espero ter ajudado
Desde que a criação de ambos os objetos não seja explícita -
String abc = new String(“abc”) - , a operador == identificará ambos objetos como iguais desde que os conteúdos sejam também iguais, por causa de um recurso da JVM, o pool de strings.
Isso:
String abc1 = "abc";
String abc2 = "abc";
System.out.println(abc1==abc2);
, teria como saída true, mas:
String abc1 = "abc";
String abc2 = new String("abc");
System.out.println(abc1==abc2);
, teria como saída false. O uso do método equals compara os conteúdos, independente do pool e das referências.
Uma outra dica que eu costumo dar, se o String veio diretamente de um char[] - tipo característico de transação por sockets - , procurar executar um trim(), pois pode ocorrer um false sendo que os conteúdos são humanamente iguais, mas para um char[] ser um String, é colocado no final do array um byte zero - ‘\0’ - , e isso não é retirado do objeto.
Até!