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);
}
}