Dobre, rekneme, ze budu od uzivatele
nacitat nejake retezce z konzole a budu je ukladat
do nejakeho Listu, ale do Listu budu pridavat
internovane retezce, tak usetrim pamet a muzu pouzivat
porovnavani pomoci ==, je to tak?

----- Original Message ----- From: "ales" <[EMAIL PROTECTED]>
To: "Java" <konference@java.cz>
Sent: Thursday, September 28, 2006 12:15 PM
Subject: Re: java.lang.String.intern()


Ahoj,
je to presne tak. Nasledujuci kod:

       String helloWorld = "HelloWorld";
       String hello = "Hello";
       String world = "World";
       System.out.println(helloWorld == (hello + world).intern());

vypise true. Metoda intern existuje z optimalizacnych dovodov (vid http://en.wikipedia.org/wiki/String_intern_pool).

Ales



Ing. Jan Novotný  wrote / napísal(a):
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