jak porównać dwa Stringi

0

dla przykładu załóżmy że mamy taki kod:

JTextField tf = new JTextField();
String slowa[] = new String[5];
//tf zawiera jakiś tekst bo coś wpisujemy w pole TextField...
//tablica slowa[] tez załóżmy że już jest wypełniona
// i teraz najlepsze...
if (tf.getText() == slowa[0])
...

ten IF nie przechodzi nawet jeśli WIEMY że oba wyrażenia zawierają ten sam tekst, może ktoś mi wytłumaczyć czemu?
jeśli porównam oba poniższe stringi:
String a = "Ala";
String b = "Ala";
to IF przejdzie... ale jeśli JEDEN Z NICH jest spod... nazwijmy to dynamicznego Stringu to już niechce :/
dodam tylko że oba stringi wyświetlałem przez println() i jak byk widać że są identyczne... a IF głupieje...
próbowałem nawet porównywać (tf.getText().toString() == slowa[0].toString()) i też nic... stosując metodę toUpperCase() też nic nie daje, po prostu... wysiadam :P
chyba że jest coś o czym nie wiem (śjakieś czary mary) ;)

0

Poszukaj w dokumentacji takiej metody equals, jest ona i w klasie String i Object. Miałem gdzieś program z porównaniem Stringów, bo też miałem kiedyś taki problem. Jak go znajdę to zamieszczę na forum. Pozdrawiam

0

Uzyj metody equals, operator == porownuje referencje, nie zawartosc.

0

no tak... wystarczy:
if(tf.getText().eguals(slowa[0]))

dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1