Deklarimi dhe krahasimi i objekteve stringje

• String shkronjor (literal)

– Nje sekuence karakteresh te mbyllura midis thonjezave dyshe
– Nje objekt i paemertuar, ose objekt anonim, i klases String


• Variabel String
– Nje objekt i emertuar i klases String.


• Klasa String
– Deklarohet ne paketen java.lang.String
– importohet automatikisht ne cdo program


• Deklarimi i nje variabli String
– Vete Stringu eshte i vecuar nga variabli i perdorur per t'ju referuar atij.


• Krijimi i nje objekti String
String aGreeting = new String("Hello");

– ju mund te krijoni nje objekt String edhe pa:
• perdorur fjalenkyce new
• pa thirrur ne menyre eksplicite konstruktorin e klases String
String aGreeting = "Hello";


Krahasimi i vlerave String
• String eshte nje klase
– Cdo String i krijuar eshte nje objekt i klases


• Emri i variablit String
– Eshte variabel reference
– I referohet nje vendodhjeje ne memorje dhe jo nje vlere specifike

• Caktimi i nje vlere ne nje String
– Adresa e mbajtur nga String-u ndryshohet

• Te pandryshueshem (Immutable)
– Objektet qe nuk mund te ndryshojne, si psh nje String

• Nese bejme krahasime te thjeshta midis objekteve Strings shpesh marrim rezultate te gabuara
– Krahasimi i Stringjeve duke perdorur operatorin == krahason adresat e memorjes dhe jo vlerat

• Metoda equals()
– Krahason permbajtjet e dy objekteve String per te percaktuar nese jane te barabarte.
– Kthen true nese objektet kane permbajtje identike


Deklarimi:


public boolean equals(String s)


Perdorimi:


if (s1.equals(s2))
System.out.println("Te barabarta");

• Metoda equalsIgnoreCase()
– Injoron germat e medha ose te vogla kur krahason nese dy objekte String jane te barabarte.
– E perdorshme kur perdoruesi u pergjigjet prompt-eve ne nje program.


• Metoda compareTo()
– Krahason dy Stringje sipas renditjes alfabetike

Deklarimi:

public boolean compareTo(String s)


Perdorimi:

if (s1.compareTo(s2) < 0)
System.out.println("s1 me i vogel se s2");


– Vlera qe kthen:
• Zero
– Vetem nese dy stringjet i referohen te njejtes vlere

• Numer negativ
– Nese objekti therrites eshte “Me i vogel se” argumenti

• Numer pozitiv
– Nese objekti therrites eshte “Me i madh se” argumenti
Kujtojme se 'B' > 'A' sepse 66>65, dhe 'C' < 'c' (67< 67+32)

Shembull:


     import java.util.Scanner;
public class KrahasoStringjet
{
public static void main(String[] args)
{
String s1 = "Mary";
String s2;
Scanner in = new Scanner(System.in);
System.out.print("Jepni emrin tuaj > ");
s2 = in.nextLine();
if(s1.equals(s2))
System.out.println(s1 + " eshte i barabarte me " + s2);
else
System.out.println(s1 + " nuk eshte i barabarte me " + s2);
}
}