Clasa String

public final class String
extends Object
implements Serializable, Comparable

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