Equals vs. contains

Eai galera beleza?
Estou com uma duvida na hora de comparar valores.

Seguinte, a ideia basica do problema é ler valores de um txt e comparar pra ver se é o que eu digitei, é resumidamente um programa que realiza buscas de valores digitados dentro no txt.

No caso, busco por uma sequencia de números (ex. 1626), mas no arquivo txt o valor estaria completado com um numero com 6 dígitos. (001626).Mas o valor a ser buscado pode ser um numero com 6 dígitos (ex. 111626).

A ideia inicial seria fazer com o que o java ignorasse os zeros a esquerda!!

Porém qual a diferença no de eu usar o .equals() ou o .contain(" ")

Alguma ideia?

Cara…

O equals vai fazer a comparação da string inteira…

E o contain vai ver se na String chamada contem a String passada…

"001626".contains("1626");

Nesse exemplo ele vai retornar verdadeiro, pois dentro de 001626 contem os números 1626

"001626".equals("1626");

Neste exemplo vai retornar falso, pois tem que ser exatamente igual.

Falow

1 curtida

E aí galera !!!

Dá uma olhada nesse link e vê se te ajuda!!!

http://www.guj.com.br/java/47489-definicao-do-metodo-contains—classe-vector

Espero ter ajudado! :smiley:

Att;
Daniel

Não quer comparar só o valor numérico? 0001626 é o mesmo número que 1626 ou 00000001626

[quote=leenno]Eai galera beleza?
Estou com uma duvida na hora de comparar valores.

Seguinte, a ideia basica do problema é ler valores de um txt e comparar pra ver se é o que eu digitei, é resumidamente um programa que realiza buscas de valores digitados dentro no txt.

No caso, busco por uma sequencia de números (ex. 1626), mas no arquivo txt o valor estaria completado com um numero com 6 dígitos. (001626).Mas o valor a ser buscado pode ser um numero com 6 dígitos (ex. 111626).

A ideia inicial seria fazer com o que o java ignorasse os zeros a esquerda!!

Porém qual a diferença no de eu usar o .equals() ou o .contain(" ")

Alguma ideia?[/quote]

Converte para int, assim você conseguirá fazer a comparação…

int valor1 = Integer.parseInt("001626");
int valor2 = Integer.parseInt("1626"); 
if(valor1 == valor2){
//Pronto
} 

abraços

1 curtida

É isso mesmoo!!

diegio.sas essa comparação retorna true?

É isso mesmoo!!

diegio.sas essa comparação retorna true?[/quote]

Com certeza.

Conhece o NumberUtils ? org.apache.commons.lang.math

if(NumberUtils.isNumber(string)){ int numero = NumberUtils.toInt(string) }
Eu curto muito as bibliotecas do apache-commons