Martin Ehmsen <ehmsen@imada.sdu.dk> wrote:
> Hej...
>
> Jeg sidder netop og kigger på noget kode som efter min mening
> ikke burde fungere.
> Det essentielle i koden er følgende:
>
> // Dette går godt og man får JUBII ud på skærmen
> String str = "Tekst";
> if( str == "Tekst" )
> System.out.println( "JUBII" );
> else
> System.out.println( "NEJ" );
>
> Mens følgende ikke går godt:
>
> // Dette går ikke godt om man får NEJ ud på skærmen
> String str = new String( "Tekst" );
> if( str == "Tekst" )
> System.out.println( "JUBII" );
> else
> System.out.println( "NEJ" );
>
> Jeg forstår ikke den opførsel af java...
> Det er ikke min egen kode, og det er klart at denne brug af ==
> operatoren er imod al god programmerings skik ( str.equals(
> "Tekst" ) er mere efter bogen ), men jeg kunne godt tænke mig at
> vide hvorfor det går godt??
>
> Martin
Hej Martin
Se "Java Language Specification" §3.10.5
http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.h
tml
eller den sidste del af dette gode svar fra Jonas Kongslund
http://groups.google.com/groups?hl=da&c2coff=1&selm=3B0842A0.44ED457
2%40dev.null
--
Mikkel Bundgaard
IT University of Copenhagen
http://officehelp.gone.dk
Codito, Ergo Sum