Sobes.tech
Junior — Middle

Java'da String ve StringBuilder sınıfları arasında ne gibi farklar vardır ve her birinin kullanılması önerilen durumlar nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da String ve StringBuilder sınıfları dizgelerle çalışmak için kullanılır, ancak farklı özelliklere ve kullanım alanlarına sahiptirler.

  • String: değiştirilemez (immutable) bir sınıftır. Her seferinde dizge değiştirildiğinde yeni bir nesne oluşturulur. Bu, değişmeyen dizgeler için uygundur ve çok iş parçacıklı ortamlarda güvenliği sağlar.

  • StringBuilder: dizgelerle çalışmak için değiştirilebilir bir sınıftır. İçeriği verimli bir şekilde değiştirmeye olanak tanır ve yeni nesneler oluşturmadan dizgeyi günceller.

Ne zaman kullanmalı:

  • Dizge değişmeyecekse veya değişiklikler minimalse String kullanın. Bu, kodu basitleştirir ve güvenliği artırır.
  • Dizgeyi sık sık değiştirmek gerekiyorsa (örneğin, döngülerde, çok sayıda dizgeyi birleştirirken), StringBuilder kullanın; böylece çok sayıda geçici nesne oluşturmaktan kaçınılır ve performans artar.

Örnek:

String s = "Hello";
s += " World";  // Yeni bir String nesnesi oluşturulur

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");  // Mevcut nesneyi değiştirir