StringBuffer vs StringBuilder
Java çok popüler bir nesne yönelimli dildir. Java'da, String sınıfının değiştirilemeyen (başlatıldıktan sonra) bir dizi karakteri barındırması sağlanır. Alternatif olarak, Java programlama dili iki tür değiştirilebilir karakter dizisi sağlar. Yani, programcıların belirli bir String'i (başlattıktan sonra) değiştirmeleri gerektiğinde, String sınıfı yerine StringBuffer sınıfını veya StringBuilder sınıfını kullanmaları gerekir. StringBuffer JDK 1.0'da tanıtıldı ve StringBuilder sınıfı JDK 1.5'te tanıtıldı, aslında StringBuffer sınıfının yerine (tek iş parçacıklı ortamlar için).
StringBuffer nedir?
StringBuffer sınıfı JDK 1.0'da tanıtıldı. StringBuffer sınıfı java.lang paketine aittir ve java.lang.object genelinden devralınır. Programcılar bunu bir son sınıf olduğu için daha fazla genişletemezler. StringBuffer sınıfı Serializable, Appendable ve CharSequience arabirimlerini uygular. StringBuffer sınıfının bir nesnesi, değiştirilebilir ve iş parçacığı açısından güvenli bir karakter dizisi içerebilir. Bu, bir String nesnesine çok benzer olduğu anlamına gelir, ancak karakter dizisi (uzunluk ve içerik), StringBuffer nesnesini başlattıktan sonra herhangi bir zamanda değiştirilebilir. Ancak, bu StringBuffer sınıfı tarafından sağlanan belirli yöntemler kullanılarak yapılmalıdır. StringBuffer sınıfında iki temel işlem vardır. Bunlar append () ve insert () yöntemleriyle sağlanır. Bu yöntemler aşırı yüklenmiştir, bu nedenle tamsayı ve uzun gibi herhangi bir türdeki verileri kabul edebilirler. Her iki yöntem de önce herhangi bir girdiyi bir dizeye dönüştürür ve sonra karşılık gelen dizenin karakterlerini varolan Stribbuffer nesnesine ekler (ekler veya ekler). Append () yöntemi, dönüştürülen dizeyi mevcut StringBuffer nesnesinin sonuna eklerken, insert () yöntemi, giriş karakterlerini belirtilen ekleme noktasına ekler.
StringBuilder nedir?
StringBuilder sınıfı JDK 1.5'te tanıtıldı. StringBuilder API, StringBuffer API'ye çok benzer. Aslında, StringBuilder sınıfı aslında StringBuffer sınıfının (tek iş parçacıklı uygulamalar için) yerine geçmiştir. StringBuilder sınıfı java.lang paketine aittir ve java.lang.object genelinden devralınır. Bu son bir sınıftır ve bu yüzden programcılar onu genişletemez. StringBuilder sınıfı Serializable, Appendable ve CharSequience arabirimlerini uygular. StringBuilder sınıfının bir nesnesi, değiştirilebilir ancak iş parçacığı açısından güvenli olmayan bir dizi karakter içerebilir. Bu, bir String nesnesine çok benzer olduğu anlamına gelir, ancak dize herhangi bir zamanda değiştirilebilir. Ancak StringBuilder sınıfı senkronizasyon sağlamaz ve bu nedenle StringBuffer sınıfını kullanmaktan daha hızlı olduğu iddia edilir. StringBuilder sınıfı, StringBuffer sınıfındakiyle tamamen benzer işlevselliğe sahip append () ve insert () yöntemleri sağlar.
StringBuffer ve StringBuilder arasındaki fark nedir?
StringBuilder ve StringBuffer sınıfları Java'daki karakterlerin değiştirilebilir dizileri için kullanılabilse de, önemli bir farkları vardır. StringBuffer sınıfının aksine, StringBuilder sınıfı iş parçacığı için güvenli değildir ve eşitleme sağlamaz. Bu nedenle, StringBuilder sınıfının tek iş parçacıklı uygulamalarda StringBuffer sınıfı yerine kullanılması önerilir, çünkü StringBuilder sınıfının StringBuffer sınıfından çok daha hızlı olacağı iddia edilir (normal koşullar altında).