concatenação - onde tá o erro?

Eu tô fazendo uma calculadora java, a fim de aprender os tópicos básicos. Aí veio aquela questão do zero. Quando tem um zero no display, ao apertar a tecla zero não deveria acontecer nada, tipo ficar com dois zeros lá. Então fiz um código assim

if (display == “0”) {
display = “”;
}

display = display + “0”;
label.setText(display);

Ou seja, tem um número armazenado na variável display. Então teclo o zero. O código verifica se o display é o zero, se for ele coloca uma string nula na variável. Mais tarde ele concatena a variável nula com o zero, já que teclei o zero.

Só que não dá certo, pois “parece” que o if não consegue “pegar” o valor da variável após a concatenação.

Já gastei quase duas horas tentando resolver isto e não consegui nada, nem utilizando stringbuffer ou concat.

Deve ser coisa boba, alguém aí tem uma idéia?

Obrigado

Knik,

coloca isso:

if (display.equals(“0”)) {
display = “”;
}

Ok Petronio,

Obrigado. Funcionou mesmo do seu jeito. Mas fico com a dúvida. Por quê isto acontece? Teoricamente deveria funcionar do meu jeito…

String, vc usa .equals para comparar.

Você deve usar equals para comparar quaisquer objetos, e não apenas String. O == retorna true apenas se os dois objetos são o mesmo objeto na memória, e não quando o conteúdo deles são iguais.

OK - obirgado pela ajuda. Não basta só digitar os códigos sem entender o que se está fazendo. Valeu mesmo.