Nemelo to byt spis takhle?

String a = "ahoj";
String b = "ahoj";
if (a != b) System.out.println("a different from b"); //mohlo by se vypsat
a = a.intern();
b = b.intern();
if (a == b) System.out.println("a same as b"); //musí se vypsat


----- Original Message ----- From: ""Ing. Jan Novotný"" <[EMAIL PROTECTED]>
To: "Java" <[email protected]>
Sent: Thursday, September 28, 2006 12:08 PM
Subject: Re: java.lang.String.intern()


Nejsem si jistý, ale nezajistí se touto metodou, že konkrétní string bude na haldě pouze jednou? Tzn. že je teoreticky možné toto:

String a = "ahoj";
String b = "ahoj";
if (a != b) System.out.println("a different from b"); //mohlo by se vypsat
a.intern();
b.intern();
if (a == b) System.out.println("a same as b"); //musí se vypsat

Nejsem si tím jistý, ale myslím, že takhle to funguje ... equals samozřejmě vrátí v obou případech true (imlementace equals u stringu myslím interně to intern právě volá).

Honza

Kamzik-II napsal(a):
Zdravim diskuzi, mam opet jeden zacatecnicky dotaz :)
Tentokrat by me zajimalo, jake vyuziti ma metoda intern ()
tridy java.lang.String, zaujalo me tohle:
 String helloWorld = "HelloWorld";
String hello = "Hello";
String world = "World";
 helloWorld == ( hello + world ).intern ();
 mohl by mi nekdo vysvetlit k cemu je tato
metoda dobra? :)




Odpovedet emailem