Junior — Middle
Mik a különbségek a String és a StringBuilder osztályok között Java-ban, és mely esetekben érdemes inkább az egyiket vagy a másikat használni?
sobes.tech MI
Válasz az MI-től
Java-ban az String osztály egy változatlan (immutable) karakterláncot képvisel. Minden alkalommal, amikor a láncot módosítják, egy új objektum jön létre, ami több összefűzési műveletnél nem hatékony.
A StringBuilder egy módosítható (mutable) karakterpuffer, amely lehetővé teszi a lánc hatékony módosítását anélkül, hogy új objektumokat hozna létre.
Mikor használjuk:
String— amikor a lánc nem változik a létrehozás után, vagy csak minimális változtatások történnek.StringBuilder— gyakori változtatások esetén, például ciklusokban, nagy láncok építésekor.
Példa:
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10; i++) {
sb.append(i).append(", ");
}
String result = sb.toString();