Comparação de String

9 respostas
L

Estou fazendo a seguinte comparação:

String[] Valores recebe vários valores como parâmetro.

a posição Valores[0] contém a string “V”;

if (!Valores[0].toString().equals(“V”)){

Gostaria de seber porque ele entende como true essa comparação…


}

Obrigado.

9 Respostas

T

Porque Valores[0] não contém exatamente “V” mas sim alguma outra coisa (por exemplo, “v”).

andrerios

aqui eu fiz esse mesmo codigo seu e caiu no else, ou seja, está correto. Confira se o valor da posicao indicada é esse mesmo :wink:

L

então mas é exatamente “V” que estou recebendo…

Focao

uma dica de programador calejado… rsrsrs

quando comparar string com .equals prefira o objeto a ser comparado…

isso evita nullPointer e fica um código mais metido… hehehe

String[] Valores  = {"V", "F"};

if (! "V".equals(Valores[0].toString())){
 System.out.println("não é V");
}else{
 System.out.println("é V");
}
andrerios

nao evita NullPointer nao...

tente fazer isso e verá a exception:

String[] Valores  = {null,""};

if (! "V".equals(Valores[0].toString())){
   System.out.println("não é V");
}else{
   System.out.println("é V");
}
L

Obrigado era isso mesmo que precisava

Focao
andrerios:
nao evita NullPointer nao...

tente fazer isso e verá a exception:

String[] Valores  = {null,""};

if (! "V".equals(Valores[0].toString())){
   System.out.println("não é V");
}else{
   System.out.println("é V");
}

Opa tem razão ..

da por causa to tosco .toString

assim naão dá

if (! "V".equals(Valores[0])){
			System.out.println("não é V");
		}else{
			System.out.println("é V");
		}
andrerios

mas será q isso nao “encobriria” erros q podem dar uma dor d cabeça depois debugando?

erros do tipo q esconde parametros null q nao deveriam ser null… creio q o melhor ai seria o uso de um try/catch mesmo :wink:

Focao

boa try catch é sempre uma mão na roda mas fica feio dependendo em que camada está esse código, subir throws em toda as chamadas…

mas como dificilmente esse null vai aparecer num arraylist…

o if mágico é bem melhor…

if(Valores[0] == null)	Valores[0] = "";

faria até um método changeValuesNullInArray(String[] a)

Criado 27 de janeiro de 2009
Ultima resposta 27 de jan. de 2009
Respostas 9
Participantes 4