Instantele clasei String sunt siruri de caractere. Orice literal sir in limbajul Java, de exemplu "abc", este un astfel de obiect. Sirurile sunt constante, deci continutul lor nu poate fi modificat. Pentru a obtine siruri modificabile se va folosi clasa StringBuffer.
Nota: amintim ca in limbajul Java reprezentarea interna a caracterelor se face pe 16 biti, in Unicode.
Campuri:
public static Comparator CASE_INSENSITIVE_ORDER
Campul contine
un Comparator care ordoneaza obiectele-sir cand ele sunt comparate
cu metoda comparetoIgnoreCase().
Constructori:
public String()
Creeaza un sir
vid.
public String(byte[] bytes)
Creeaza un obiect
al clasei String care contine caracterele din tabloul de octeti primit
ca argument. Se considera ca in acest tablou caracterele sunt reprezentate
pe 8 biti, in codul local valabil pe calculatorul pe care se executa programul.
Daca referinta la tablou este nula se genereaza o NullPointerException.
public String(byte[] bytes, int offset, int length)
Actioneaza similar
cu constructorul precedent, cu observatia ca se preiau din tabloul bytes
numai length octetii de pe pozitiile care incep de la indicele
offset.
Pot fi generate NullPointerException daca referinta la tablou
este nula, sau o IndexOutOfBoundsException daca indicii sunt gresiti.
public String(byte[] bytes, int offset, int length, String enc)
Actioneaza similar
cu constructorul precedent, dar la conversia din octet in Unicode se foloseste
sistemul de codificare a caracterelor enc. Pot fi generate NullPointerException
daca referinta la tablou este nula, sau o IndexOutOfBoundsException
daca indicii sunt gresiti,sau UnsupportedEncodingException daca
argumentul enc este gresit.
public String(byte[] bytes, String enc)
Construieste
un sir care contine caracterele din tabloul de octeti bytes. Se
considera ca in acest tablou caracterele sunt reprezentate in codul enc.
Se genereaza NullPointerException daca referinta la tablou este
nula, sau UnsupportedEncodingException daca argumentul enc
este gresit..
public String(char[] value)
Construieste
un sir care contine caracterele din tabloul de caractere value.
Se genereaza NullPointerException daca referinta la tablou este
nula.Pot fi generate NullPointerException daca referinta la tablou
este nula, sau o IndexOutOfBoundsException daca indicii sunt gresiti.
public String(char[] value, int offset, int count)
Actioneaza similar
cu constructorul precedent, dar preia din tabloul value numai
count
caractere, incepand cu cel de pe pozitia offset. Pot fi generate
NullPointerException daca referinta la tablou este nula, sau o
IndexOutOfBoundsException daca indicii sunt gresiti.
public String(String value)
Creeaza un nou
sir, in care il copiaza pe cel dat ca argument.
public String(StringBuffer buffer)
Creeaza un nou
sir, care contine aceleasi caractere ca cele din argumentul buffer,
care apartine clasei StringBuffer (deci este o zona-tampon pentru
siruri).
Metode:
public char charAt(int index)
Intoarce caracterul
situat in sir pe pozitia index. Se genereaza IndexOutOfBoundsException
daca indicele este gresit.
public int compareTo(Object o)
Compara acest
sir cu obiectul o primit ca argument. Daca acest obiect
nu este un sir, se genereaza o exceptie de incompatibilitate de clase (ClassCastException).
Daca o este un sir, atunci compararea se face la fel ca in metoda
urmatoare.
public int compareTo(String anotherString)
Compara acest
sir cu sirul anotherString primit ca argument. Daca cele doua
siruri sunt identice, intoarce 0 (zero). Daca acest sir il precede pe o
intoarce o valoare negativa, iar daca ii succede lui o intoarce
o valoare pozitiva. Compararea sirurilor se face in ordine lexicografica
(in ordinea in care ar fi plasate intr-un dictionar).
public int compareToIgnoreCase(String str)
Compara lexicografic
acest sir cu sirul str primit ca argument, ignorand deosebirea
dintre literele majuscule si cele minuscule.
public String concat(String str)
Concateneaza
acest sir cu sirul str primit ca argument.
public static String copyValueOf(char[] data)
Intoarce un
sir care contine aceleasi caractere cu cele din tabloul data.
Se poate genera NullPointerException daca referinta la tablou este nula.
public static String copyValueOf(char[] data, int offset, int count)
Similar cu metoda
precedenta, dar se preiau din tabloul data numai count caractere
incepand cu pozitia offset. Se poate genera NullPointerException
daca referinta la tablou este nula
public boolean endsWith(String suffix)
Testeaza daca
acest sir se termina cu subsirul suffix.
public boolean equals(Object anObject)
Testeaza daca
acest sir este "egal" cu obiectul anObject.
public boolean equalsIgnoreCase(String anotherString)
Testeaza daca
acest sir contine aceleasi caractere ca argumentul anotherString, ignorand
deosebirea dintre literele mici si cele mari.
public byte[] getBytes()
Converteste
acest sir intr-un tablou de octeti, luind in consideratie codificarea locala
de pe calculatorul pe care ruleaza programul.
public byte[] getBytes(String enc)
Similara cu
metoda precedenta, dar conversia se face folosind codificarea enc.
Se genereaza UnsupportedEncodingException daca argumentul enc este gresit.
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Copiaza caracterele
din acest sir in tabloul de caractere de destinatie char[]. Copierea
incepe de la caracterul de pe pozitia srcBegin si se termina la
caracterul de pe pozitia srcEnd-1. Plasarea in tabloul de destinatie
incepe cu pozitia dstBegin. Se poate genera NullPointerException
daca referinta la tablou este nula sau IndexOutOfBoundsException daca indicii
sunt gresiti..
public int hashCode()
Intoarce codul
de dispersie pentru acest sir.
public int indexOf(int ch)
Intoarce indicele
la care se gaseste in sir prima aparitie a caracterului ch. Daca
acest caracter nu exista in sir, intoarce -1.
public int indexOf(int ch, int fromIndex)
Similar cu metoda
precedenta, dar cautarea in sir incepe de la pozitia fromIndex.
public int indexOf(String str)
Intoarce indicele
pozitiei de pe care in acest sir apare prima data subsirul str.
public int indexOf(String str, int fromIndex)
Similar cu metoda
precedenta, dar cautarea in acest sir incepe de la pozitia fromIndex.
public String intern()
Intoarce o reprezentare
canonica a acestui obiect-sir.
public int lastIndexOf(int ch)
Intoarce indicele
ultimei pozitii pe care apare caracterul ch in acest sir.
public int lastIndexOf(int ch, int fromIndex)
Intoarce indicele
ultimei pozitii pe care se gaseste caracterul ch daca se face cautarea
inapoi incepand de la pozitia fromIndex.
public int lastIndexOf(String str)
Intoarce indicele
ultimei aparitii in acest sir a subsirului str.
public int lastIndexOf(String str, int fromIndex)
Similar cu metoda
precedenta, dar cautarea inapoi se face de la pozitia fromIndex.
publicint length()
Intoarce lungimea
acestui sir (numarul de caractere continute).
public boolean regionMatches(boolean ignoreCase, int toffset, String
other, int ooffset, int len)
Testeaza daca
o regiune din acest sir este egala cu o regiune din sirul other
primit ca argument. Daca primul argument (ignoreCase) are valoarea
true, comparatia se face ignorand deosebirea dintre caracterele mari si
cele mici. Argumentele tooffset si ooffset reprezinta
indicii pozitiilor de la care incep regiunile comparate in acest sir si,
respectiv, in sirul-argument other. Argumentul len este
lungimea celor doua zone comparate.
public boolean regionMatches(int toffset, String other, int ooffset,
int len)
Similar cu metoda
precedenta, dar se ia in consideratie deosebirea intre literele mici si
cele mari.
public String replace(char oldChar, char newChar)
Intoarce un
nou sir, care are acelasi continut cu acest sir, dar in care toate aparitiile
caracterului oldChar sunt inlocuite prin caracterul newChar.
public boolean startsWith(String prefix)
Testeaza daca
acest sir incepe cu subsirul prefix.
public boolean startsWith(String prefix, int toffset)
Testeaza daca
subsirul prefix incepe in acest sir de pe pozitia index.
public String substring(int beginIndex)
Intoarce un
nou sir, care contine caracterele acestui sir incepand de la pozitia beginIndex,
pana la sfarsit.
public String substring(int beginIndex, int endIndex)
Intoarce subsirul
situat intre pozitiile beginIndex si endIndex-1.
public char[] toCharArray()
Converteste
acest sir intr-un tablou de caractere.
public String toLowerCase()
Intoarce un
nou sir, in care literele mari ale acestui sir sunt inlocuite cu litere
mici.
public String toLowerCase(Locale locale)
Similar cu metoda
precedenta, dar inlocuirea literelor mari cu cele mici se face respectand
conventia locale.
public String toString()
Intoarce chiar
acest sir.
public String toUpperCase()
Intoarce un
nou sir, provenit din acest sir, in care toate literele mici au fost inlocuite
cu litere mari.
public String toUpperCase(Locale locale)
Similar cu metoda
precedenta, dar conversia se face respectand conventia locale.
public String trim()
Intoarce un
nou sir, obtinut din acest sir prin eliminarea spatiilor de la inceput
si de la sfarsit.
public static String valueOf(boolean b)
Intoarce reprezentarea
sub forma de sir a unui argument de tip boolean.
public static String valueOf(char c)
Intoarce un
sir care contine numai caracterul c.
public static String valueOf(char[] data)
Intoarce reprezentarea
sub forma de sir a tabloului de caractere data. Se genereaza NullPointerException
daca referinta la tablou este nula.
public static String valueOf(char[] data, int offset, int count)
Intoarce reprezentarea
sub forma de sir a subtabloului de lungime count cuprins in tabloul
data
incepand de la indicele offset. Se genereaza NullPointerException
daca referinta la tablou este nula.
public static String valueOf(double d)
Intoarce reprezentarea
sub forma de sir a unui argument de tip double.
public static String valueOf(float f)
Intoarce reprezentarea
ca sir a unui argument de tip float.
public static String valueOf(int i)
Intoarce reprezentarea
ca sir a unui argument de tip int.
public static String valueOf(long l)
Intoarce reprezentarea
ca sir a unui argument de tip long.
public static String valueOf(Object obj)
Intoarce reprezentarea
ca sir a obiectului obj.
Metode mostenite de la clasa java.lang.Object:
clone, finalize, getClass, notify, notifyAll, wait