En string lig en anden string??

Tags:    java

I et program skal jeg feks. finde ud af om en e-mail adresse har .com som endelse.

Jeg har prøvet følgende:

Fold kodeboks ind/udKode 


Men den udfører ikke den sidste System.out.println, hvilket jeg ville mener at den burde. Hvad er der galt her??



Indlæg senest redigeret d. 06.11.2006 11:32 af Bruger #10807
4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
I et program skal jeg feks. finde ud af om en e-mail adresse har .com som endelse.

Jeg har prøvet følgende:

Fold kodeboks ind/udKode 


Men den udfører ikke den sidste System.out.println, hvilket jeg ville mener at den burde. Hvad er der galt her??


brug String klassens equals. Den bruges på følgende måde (og den tjekker indholdet i strengene), og den returnere en bool :
Fold kodeboks ind/udKode 




Som Jimmy Westerberg siger bør du generelt bruge equals().
Til dit brug vil en endsWith() nok være lettere (det bruges ligesom equals).
Grunden til at det du skrev ikke virkede er, en streng er et objekt og derfor ikke bare sammenlignes med "="-tegn. Et objekt er egentlig bare en reference til objektets informationer, og når du bruger lig med tegnet tjekker du om referencerne er de samme.
Og grunden til at en streng er et objekt i stedet for en simpel type, er for at gøre rigtigt store projekter mere overskuelige, ved at gøre programmeringssproget mere OO rent.







Kanont... endsWith() fungere helt fint.. takker :-)



t