Məzmuna keçin
  • Kateqoriyalar
  • Ən yeni
  • Teqlər
  • Populyar
Yığmaq
Brend loqosu
  1. Əsas səhifə
  2. Java
  3. Java-da String və StringBuilder: fərqlər və istifadə qaydaları

Java-da String və StringBuilder: fərqlər və istifadə qaydaları

Planlaşdırılıb Sabitlənib Kilidlənib Köçürülüb Java
stringstringbuilderjava
1 Yazı 1 Yazarlar 9 Baxış
  • Ən köhnədən yeniyə
  • Ən yenidən köhnəyə
  • Ən çox səs
Cavab ver
  • Mövzu olaraq cavablandır
🔑 Daxil ol
Bu mövzu silindi. Yalnız mövzu idarəçiliyi imtiyazlarına malik olan istifadəçilər onu görə bilər.
  • codexC Onlayn
    codexC Onlayn
    codex
    yazdı sonuncu dəfə tərəfindən redaktə edilib
    #1

    Java proqramlaşdırma dilində mətnlə işləmək üçün ən çox istifadə olunan iki class var: String və StringBuilder. Bu məqalədə bu iki class-ın fərqlərini, üstünlüklərini və hansı hallarda istifadə olunmalı olduqlarını izah edəcəyik.


    1. String nədir?

    Java-da String — dəyişməz (immutable) bir obyekt növüdür. Yəni, bir dəfə yaradıldıqdan sonra onun məzmunu dəyişdirilə bilməz. Əgər dəyişiklik etsəniz, əslində yeni bir String obyekti yaranacaq.

    Nümunə:

    String ad = "Nilay";
    ad = ad + " Huseynova";
    System.out.println(ad); // Nəticə: Nilay Huseynova
    

    Yuxarıdakı nümunədə ad + " Huseynova" ifadəsi yeni bir String obyekt yaradır və köhnə obyekt dəyişmir. Bu səbəbdən çoxlu string birləşdirmələri performans baxımından zəif ola bilər.


    2. StringBuilder nədir?

    StringBuilder Java-da dəyişə bilən (mutable) string-lər yaratmaq üçün istifadə olunur. Bu class, xüsusilə çoxlu sayda string birləşdirmələri və dəyişikliklər aparıldıqda çox daha sürətli və effektiv işləyir.

    Nümunə:

    StringBuilder ad = new StringBuilder("Nilay");
    ad.append(" Huseynova");
    System.out.println(ad); // Nəticə: Nilay Huseynova
    

    Burada .append() metodu mövcud StringBuilder obyektinə əlavə edir və yeni obyekt yaratmır.


    3. String və StringBuilder arasındakı fərqlər

    Xüsusiyyət String StringBuilder
    Dəyişə bilmə Dəyişməz (immutable) Dəyişə bilən (mutable)
    Performans Aşağı (çoxlu birləşmələrdə) Yüksək
    Thread-safe Bəli (String təhlükəsizdir) Xeyr (lakin daha sürətlidir)
    İstifadə məqsədi Az dəyişiklik olan mətnlər Tez-tez dəyişən mətnlər üçün

    Qeyd: Əgər multithreading istifadə edirsinizsə və StringBuilder lazımdırsa, onun thread-safe versiyası olan StringBuffer istifadə olunmalıdır.


    4. Hansı zaman hansından istifadə etməli?

    Ssenari İstifadə
    Mətni bir neçə dəfə dəyişəcəksiniz StringBuilder
    Mətni nadir hallarda dəyişirsiniz və sadəcə oxuyursunuz String
    Multithreading mühitində təhlükəsizlik vacibdirsə StringBuffer
    == və .equals() ilə müqayisə edirsiniz String

    5. Əlavə faydalı StringBuilder metodları

    • .append(String s) – sonda string əlavə edir
    • .insert(int offset, String s) – müəyyən mövqeyə string əlavə edir
    • .replace(int start, int end, String s) – müəyyən hissəni əvəz edir
    • .delete(int start, int end) – hissəni silir
    • .reverse() – mətni tərsinə çevirir
    • .toString() – StringBuilder obyektini adi String-ə çevirir

    Nümunə:

    StringBuilder sb = new StringBuilder("Salam");
    sb.reverse();
    System.out.println(sb); // Nəticə: malaS
    

    6. String-lərin daxilindəki simvolları gözlənilməz davranışlar

    String a = "Java";
    String b = "Java";
    String c = new String("Java");
    
    System.out.println(a == b); // true (eyni obyektə işarə edir)
    System.out.println(a == c); // false (fərqli obyekt)
    System.out.println(a.equals(c)); // true (məzmun eynidir)
    

    Burada .equals() məzmun müqayisəsi aparır, == isə obyektin ünvanını yoxlayır.


    Nəticə

    Java-da String və StringBuilder hər biri fərqli hallarda istifadə edilməlidir:

    • String: dəyişməzdir, oxunaqlıdır, lakin performansı zəif ola bilər.
    • StringBuilder: dəyişkəndir, sürətlidir və string manipulyasiyası üçün idealdır.

    Sadə və az dəyişən mətni saxlamaq üçün String, lakin çoxlu dəyişiklik edilən mətnlər üçün StringBuilder seçmək daha düzgündür.

    1 cavab Son cavab
    Cavab ver
    • Mövzu olaraq cavablandır
    🔑 Daxil ol
    • Ən köhnədən yeniyə
    • Ən yenidən köhnəyə
    • Ən çox səs




    Bilik paylaşdıqca artan bir sərvətdir
    • Daxil ol

    • Sizin hesabınız yoxdur? Qeydiyyatdan keç

    • Axtarış etmək üçün daxil olun və ya qeydiyyatdan keçin.
    • İlk yazı
      Son yazı
    0
    • Kateqoriyalar
    • Ən yeni
    • Teqlər
    • Populyar