Klasat StringBuilder dhe StringBuffer

• Vlera e nje String eshte fikse 

– Pasi krijohet nje String ai eshte i pandryshueshëm
• Klasat StringBuilder dhe StringBuffer
– Nje alternative e klases String
– Perdoret kur nje string do te modifikohet String
– Mund te perdoret kudo ku mund te perdoret nje String
– Pjese e paketes java.lang
– Importohet automatikisht ne cdo program

StringBuilder
– Më efiçente

StringBuffer
– Thread safe
• Perdoret ne programe me shume procese (threads)
• Krijimi i nje objekti StringBuilder

StringBuilder eventString = new StringBuilder ("Hello there");

– Duhet perdorur:
• fjalakyce new
• Emri i konstruktorit
• Nje vlere inicializuese midis kllapave te konstruktorit

• Buffer
– Nje bllok memorjeje
– Mund te permbaje nje String ose jo
– String –u mund te mos okupoje te gjithe bufferin

• Gjatesia e nje String-u mund te jete e ndryshme nga gjatesia e nje buffer
– Kapaciteti
• Gjatesia aktuale e bufferit

• Metoda setLength()
– Ndryshon gjatesine e nje stringu String ne nje objekt StringBuilder

• Karakteristika (property) length
– Nje vecori e klases StringBuilder
– Identifikon numrin e karaktereve ne nje String qe ben pjese ne StringBuilder

• Metoda capacity()
– gjen kapacitetin e nje objekti StringBuilder


• Perdorimi i objekteve StringBuilder
– Siguron performance kompjuteri me te mire kundrejt objekteve String
– Mund te futet ose te shtohet permbajtje e re ne StringBuilder

• StringBuilder constructors
public StringBuilder ()
public StringBuilder (int capacity)
public StringBuilder (String s)

• Metoda append()
– Shton karakteret ne fund te objektit StringBuilder

• Metoda insert()
– Shton karakteret ne nje vendndodhje te caktuar te objektit StringBuilder

• Metoda setCharAt()
– Ndryshon nje karakter te caktuar ne nje objekt StringBuilder

• Metoda charAt()
– Kthen karakterin ne nje pozicion te caktuar ne nje String

Kujdes!
• Mos krahasoni stringjet duke perdorur operatoret standarte te krahasimit
• Mos harroni qe startsWith(), endsWith(), dhe replace() jane case sensitive
• Mos harroni operatorin new dhe konstruktorin kur deklaroni objekte StringBuilder.


     // Shembull

import javax.swing.JOptionPane;
public class StringBuilderDemo
{
public static void main(String[] args)
{
StringBuilder s = new StringBuilder("Barbara");
int kapaciteti = s.capacity();
System.out.println("Kapaciteti i s eshte " +
kapaciteti);
StringBuilder adresa = null;
adresa = new 
StringBuilder("Rruga Mine Peza Tirane");
int addStringCapacity = adresa.capacity();
System.out.println("Kapaciteti i adresa eshte " +
addStringCapacity);
s.setLength(8);
System.out.println("Emri eshte " + s + "fund");
adresa.setLength(20);
System.out.println("Adresa eshte " + adresa);
}
}