Dúvida com operadores = == ou oque?

5 respostas
S

Preciso fazer uma comparação
então o = atribui valor. Não serve
e o == só serve c for o exato conteúdo também não serve

Ex.:
String assunto = eu estou com uma dúvida de JSP
String procura = dúvida
tru

A variável assunto contém a variável procura então é tru
como eu implemento isso?

5 Respostas

G

vc quer pesquisar debtro da String assunto ???

B

bom , seguinte, voce tem pode usar o indexOf da String, isto resolverá.

ficaria algo assim String assunto = "eu estou com uma dúvida de JSP"; String procura = "dúvida"; boolean contem = false; if(assunto.indexOf("procura)>-1){ contem = true; }
lembrando que o método indexOf retorna i index do primeiro caracter da string passada como parametro, se não encontrar ele retorna -1. vide api

M

temq usar o index of?
o metodo equals verifica igualdade entre 2 strings e retorna true ou false :slight_smile:
[]s

M

Fabiano,

Se vc quer comparar duas Strings para ver se elas são iguais, utilize sempre o método equals(). Mas se vc quer saber se uma String é substring de outra utilize mesmo o método indexOf().

Gostaria de lembrar que o operador == não deve ser usado para comparar igualdade entre objetos. Esse operador só verifica se duas variáveis apontam para o mesmo objeto em memória.

Sempre que desejamos comparar igualdade entre objetos devemos utilizar o método equals(). Só temos que ficar ligados e verificar se o autor da classe que estamos utilizando realmente sobrescreve o método equals() (o q normalmente ocorre com as classes da API da Sun).

S

Pessoal muito obrigado pelas respostas me ajudaram bastante o IndexOff resolveu meu problema

Criado 14 de dezembro de 2004
Ultima resposta 16 de dez. de 2004
Respostas 5
Participantes 5