If's e mais If's

Pode ser ridículo… mas não estou conseguindo “comparar” duas variáveis do tipo String dentro de um if… tipo abaixo:

if (Aluno.opcao == 'S'){
JOptionPane.showMessageDialog(null, "Você escolheu sim!");}

Valeu…

Em java não se compara string com == Se você fizer isso, na verdade estará comparando o ponteiro para a String. Use o método equals.

if (Aluno.opcao.equals("S")){ 
JOptionPane.showMessageDialog(null, "Você escolheu sim!");} 

[]'s

Ola Calvin

o Lance é o seguinte, String é um objeto e não um dado primitivo como int, double, float, então para comparar valores String você não pode usar o operador ==, isso em String ele vai fazer comparação de objetos…
Outro Detalhe… quando voce usar “” aspas é para String, ‘’ assim é para char

Para comparar valores de String usa o método equals();

if (Aluno.opcao.equals("S")) {
  ......Voce escolheu SIM
}

Espero ter ajudado

Vcs ajudam e ajudam rápido. Brigadão again…

Você também pode usar equalsIgnoreCase(String), caso deva ser ignorada diferença enter maiúsculas e minúsculas.

e além disso é mais rápido. :wink:

Também poderá usar o metodo compareTo

Mais o mais prático é você usar o .equals(""), isso irá funcionar perfeitamente…

Realmente é rápido, o pessoal do guj tá d parabéns, em algumas perguntas antes q fiz, em menos d meia hora já tinham respondido…

e nao esqueca que o seu primeiro codigo comparava um objeto com um “char” pois voce usou aspas simples… aspas simples significam char e contem um caracter (seja ele unicode ou nao)

guilherme