Zajimave je, ze treba v c#
String s = new String( "Daka hodnota stringu" );
vubec nejde napsat. Takovy "copy" constructor tam String nema.
Nicmene pri pohledu do zdrojaku Stringu v Jave je videt, ze se timhle
konstruktorem paradoxne da uvolnit pamet (v pripade ze puvodni String
mel interni char pole vetsi nez byla delka Stringu). Ale kdo tohle v
praxi pouziva ze?
Petr
On 08.02.2011 23:08, Oto Buchta wrote:
2011/2/8 Rastislav Rehak<re...@eea.sk>:
No ja som kontroloval kod po jednom Madarovi ( a teraz to nemala byt urazka
narodnosti ) a ten sa zjavne ucil javu z dakej prudko teoretickej knizky OO
programovania, pretoze vsade tvrdosijne pouzival konstrukciu :
String s = new String( "Daka hodnota stringu" );
Pokud se nemýlím, tak platí:
String a = "Daka hodnota stringu";
String b = "Daka hodnota stringu";
String s = new String( a );
String t = new String( b );
if (a == b&& s != t) System.out.println("Mel jsi pravdu");
Takže je to kapku něco jiného.
Navíc řekl bych, že to je pozůstatek z nějakého jazyka, který měl
proměnné a a b typu char*