Una manita que no lo veo

Tamos
16 de Febrero del 2005
Miren el siguiente codigo:

String clave = jTextField1.getText();
System.out.print(clave);
if(clave !=" ")//agregamos en la lista
{
v.add(clave);
System.out.print(v);
jList1.setVisible(false);
/* Index es el contador de palabras clave*/
int index = jList1.getSelectedIndex();
listModel.addElement(clave);

int size = listModel.getSize();

if (size == 0) { //Desactivamos el boton quitar
jButton2.setEnabled(false);

}
else { //Selecionamos una palabra clave.
jButton2.setEnabled(true);

if (index == listModel.getSize()) {

index++;


}

jList1.setSelectedIndex(index);
jList1.ensureIndexIsVisible(index);
}

setEnabled(jList1.isEnabled());
jList1.setVisible(true);



}
else //La clave es un espacio en blanco
{
//Insertamos un sonido de error
}


}


Bueno pos esto hace o deberia de hacer lo siguiente, coje una cadena de Jtex,,,, y la coloca en la variable clave. Despues se comprueba que si esta cadena es " "(caracter en blanco) que se salga si no añade clave al vector de cadenas v.
Mi prblema es que siempre se le añade clave a v, asi que la comparacion clave!=" " o esta mal o no se lo que le pasa. A ver quien me dice que es lo que pasa
Un saludo y muchas gracias

Pedro
16 de Febrero del 2005
Para comparar cadenas has de utilizar el metodo equals()... los operadores == o != son a nivel de puntero, comparan direcciones de memoria

Tamos
16 de Febrero del 2005
Gracias hombre por la aclaracion pero el problema sigue siendo el mismo.
Si pongo if(clave.equals(" ") ) sigue sin entrarme en el if.
Siendo clave una cadena. Lo que quiero comprobar es que si la cadena esta vacia y si es asi pasarme directamente al else.
Gracias.

Tamos
16 de Febrero del 2005
Muchas gracias Pedro. Se soluciona haciendo la comparacion si la longitud de la cadena es 0 o no.
if(clave.length()==0 )
Ta luego.

Lemony Snicket
16 de Febrero del 2005
Igual es una tontería pero en el código que has puesto parece haber un espacio en blanco entre las dos comillas, tal que así " ". Si estás comparando con cadenas vacías debes usar "" sin espacio en medio. De modo que con el operador equals quedaría clave.equals("")

Un saludo...