Split em java

6 respostas
A

bom eu tenho o seguinte codigo.

String teste;
				teste = "1=4444";
				String ramal[] = teste.split("=");
				
				
				
				
				if (ramal[0] == "1" ) 
				{
				
					System.out.println("sim");
					
				}
				
				else
				{
					System.out.println(ramal[0]);
				}

ele é simples porem a saida que ele me forence é

1
1
1

e eu quero

sim
sim
sim

porque acontece isso

6 Respostas

Naruffy

mude ramal[0] == “1”
para ramal[0].equals(“1”)

o == compara a instância do objetos o .equals compara o valor

[]s

marcelo.bellissimo
adrieldri:
bom eu tenho o seguinte codigo.
String teste;
				teste = "1=4444";
				String ramal[] = teste.split("=");
				
				
				
				
				if (ramal[0] == "1" ) 
				{
				
					System.out.println("sim");
					
				}
				
				else
				{
					System.out.println(ramal[0]);
				}

ele é simples porem a saida que ele me forence é

1
1
1

e eu quero

sim
sim
sim

porque acontece isso

Subistitua:
if (ramal[0] == "1" )
por
if (ramal[0].equals("1") )
O operador '==' compara as referências... ao fazer isso:
if (ramal[0] == "1" )
... é verificado se a referência da variável armazenada no índice 0 do array 'ramal' é a mesma da variável "1"... detalhe, quando você faz isso, automaticamente é gerada uma variável String com o valor "1"...

E o equals() compara valores, então ele é o ideal nesse caso...

A

Resolvido muito obrigado

S

O resultado disso é:
sim

e o erro está no:

if (ramal[0]=="1")

quando se compara strings é usado o .equals() assim:

if (ramal[0].equals("1"))

espero ter ajudado.

A

Aproveitando o forum vc sabe me dizer algum tutorial que enssina bem trabalhar java e xml?

Eric_Yuzo

Aqui no GUJ mesmo tem alguns artigos sobre xml: http://www.guj.com.br/article.list.logic#category_18

Criado 23 de novembro de 2010
Ultima resposta 23 de nov. de 2010
Respostas 6
Participantes 5