Duvida: Como comprarar uma String?

Ae galera, estou tentando comparar uma string para saber se ela possui um caractere de operador. Pra isso estou chamando no metodo main atraves do seguinte comando:

if (operador(expr) != 0) {
System.out.print (“Operador”);
}

Em que expr é uma string que foi digitada via teclado.
O metodo operador faz o seguinte:

private static int operador (String c) {
if (c == “+”) {
return 1;
} else if (c == “-”) {
return 2;
} else if (c == “*”) {
return 3;
} else if (c == “/”) {
return 4;
} else {
return 0;
}
}

Ou seja, iria imprimir a palavra “Operador” caso eu tivesse digitado um operador.
O problema é que quando digito um operador, o programa passa direto pelo if… como se o metodo operador so rotornasse o 0…

Como devo fazer?

para comparar Strings, use:

str1.equals("+");

o comparador == soh serve p/ numeros…

falow

Na verdade, o operador lógico == serve apenas para tipos primitivos. Quando usado em objetos, ele retorna true apenas quando os objetos comparados forem os mesmos:

[code]Object o1 = new Object();
Object o2 = new Object();

boolean b1 = o1 == o2; // false

o2 = o1;

boolean b2 = o1 == o2; // true[/code]

putz…verdade cv…

vi isso varias vezes no forum, mas mesmo assim dei essa mancada com o colega…

foi mal ae… :oops: :oops: :oops:

falow