jak porównać dwa Stringi

Odpowiedz Nowy wątek
2006-12-01 20:33

Rejestracja: 15 lat temu

Ostatnio: 8 lat temu

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, poprostu... wysiadam :P
chyba że jest coś o czym nie wiem (śjakieś czary mary) ;)


nie konsumuj tyle... okradasz przyszłość!

Pozostało 580 znaków

2006-12-01 20:56

Rejestracja: 13 lat temu

Ostatnio: 1 rok temu

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

Pozostało 580 znaków

2006-12-01 20:56

Rejestracja: 14 lat temu

Ostatnio: 8 lat temu

0

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


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-12-01 21:22

Rejestracja: 15 lat temu

Ostatnio: 8 lat temu

0

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

dzięki


nie konsumuj tyle... okradasz przyszłość!

Pozostało 580 znaków

Odpowiedz

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