Comparação de String

3 respostas
T

Olá,

Estou fazendo um programa e peço uma resposta em String ( S ou N ), como faço para comparar, pois tentei o código abaixo e não deu certo…

if (var == "S") ...

3 Respostas

B
String var = N;

if (var.equals(N)) {

System.out.println(Sim! var é igual à N);

}
G
"tfguitar":
Olá,

Estou fazendo um programa e peço uma resposta em String ( S ou N ), como faço para comparar, pois tentei o código abaixo e não deu certo...

if (var == "S") ...

tente usar:

if(var.equals("S"))

vc deve estar se perguntando, qual a diferença entre o operador == e o método equals()...

Exemplo:

public class Teste
{

 public static void mais(String args[])
 {
    int a = 10;
    int b = 10;

    System.out.println("a == b é " +  (a == b));

    Integer ia = new Integer(10);
    Integer ib = new Integer(10);

    System.out.println("ia == ib é " +  (ia == ib));   
  }

}

a execução dessa classe gera a seguinte saída:

a == b é true ia == ib é false

as variáveis a e b são do tipo int, ou seja são tipos primitivos e não possuem nenhum objeto associado a elas...

já as variáveis ia e ib são referências de objeto Integer

mas ambas retornam 10 !?

as variáveis de tipo primitivo a e b, possuem o valor 10... as referências de objeto ia e ib, são na realidade referências a dois objetos Integer diferentes que também possuem o valor 10...

portanto os valores de ia e ib não são 10, mas sim valores exclusivos que representam os dois objetos...o operador == testa a igualdade...

para testar valores referênciados use o método equals(), que testa o valor, igualdade ou semântica!!!

:wink:

H

Pesquise sobre o método charAt(), ele dá a localização exata do caracter na string em questão, por exemplo:


String nome;

nome = new String(“Eu mesmo”);

nome.charAt(1);

nesse caso você estará se referindo à letra u, lembrando que as strings começam em 0.

Criado 11 de abril de 2005
Ultima resposta 12 de abr. de 2005
Respostas 3
Participantes 4