Sobes.tech
Junior — Middle

Java-da String və StringBuilder sinifləri arasındakı fərqlər nələrdir və hər birini hansı hallarda üstün tutmaq daha yaxşıdır?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da String sinfi dəyişməz (immutable) bir sətiri təmsil edir. Hər dəfə sətir dəyişdirildikdə, yeni obyekt yaradılır, bu da çoxlu birləşdirmə əməliyyatlarında səmərəsiz ola bilər.

StringBuilder isə dəyişkən (mutable) simvol tamponudur və yeni obyektlər yaratmadan sətiri səmərəli şəkildə dəyişməyə imkan verir.

Nə zaman istifadə edilməlidir:

  • String — sətir yaradıldıqdan sonra dəyişməzsə və ya dəyişikliklər azdırsa.
  • StringBuilder — sətirdə tez-tez dəyişikliklər olursa, məsələn, dövrlərdə və böyük sətirlərin qurulmasında.

Nümunə:

StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10; i++) {
    sb.append(i).append(", ");
}
String result = sb.toString();