[Resolvido] Concatenação de Strings não funciona com if

3 respostas
G

Pessoal, boa tarde!

Tenho a seguinte dúvida, toda vez que eu tento concatenar mensagens em uma String não funciona se estiver dentro de uma condição if(){}.

Vejam o código abaixo, por exemplo. Criei uma classe que coleta o nome e sexo de 5 pessoas. Depois o usuário informa apenas o sexo para o programa listar apenas as pessoas com o sexo especificado. No fim é exibida uma mensagem vazia.

Será que estou fazendo algo errado?

String sex = JOptionPane.showInputDialog("Digite o sexo das pessoas que você quer que eu liste: (M ou F)");
		sex = sex.toUpperCase();
		String msg = "";
		for(int i=0;i<5;i++){
			if(nomeSexo[i][1]==sex){
				msg += " "+nomeSexo[i][0];
				msg += " "+nomeSexo[i][1];
				msg += "\n";
				JOptionPane.showMessageDialog(null, "i"+msg);
			}
		}
		JOptionPane.showMessageDialog(null, msg);
		System.exit(0);

Abs,

Glauco

3 Respostas

E

Use equals para comparar 2 strings, não “==”.
“==” funciona para strings no C#, Javascript, mas não em Java.

ricardosoares

String é uma classe, não se compara diretamente como um tipo primitivo.

errado: if(nomeSexo[i][1]==sex)

certo: if(nomeSexo[i][1].equals(sex)){

G

Ricardo,

Muito obrigado!

Acabei de testar e funcionou. Agora que entendi o conceito não esqueço mais.

Abs,

Glauco

Criado 16 de agosto de 2010
Ultima resposta 16 de ago. de 2010
Respostas 3
Participantes 3