String pool & immutability
Në shqip: Pishina e String-ëve
ShpjegimiSQ
String-ët në Java s'ndryshojnë kurrë — çdo „ndryshim“ krijon një String të ri. Tekstet e shkruara direkt në kod ruhen një herë në „string pool“ dhe ndahen. Prandaj == ndonjëherë „funksionon“ rastësisht — por përdor gjithmonë equals().
EnglishEN
Strings in Java never change — every “change” creates a new String. Text written directly in code is stored once in the “string pool” and shared. That's why == sometimes “works” by accident — but always use equals().
Si ta mendosh
Si librat e bibliotekës: të gjithë lexojnë të njëjtin kopje, askush s'shkruan mbi të.
Lexoje në anglisht
Like library books: everyone reads the same copy, nobody writes in it.
Shembull kodijava
String a = "Arta";
String b = "Arta";
String c = new String("Arta");
System.out.println(a == b); // true (pool)
System.out.println(a == c); // false — përdor equals!