logo

șir Java

În Java , șirul este practic un obiect care reprezintă o secvență de valori char. Un matrice de caractere funcționează la fel ca șirul Java. De exemplu:

 char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch); 

este la fel ca:

 String s='javatpoint'; 

șir Java clasa oferă o mulțime de metode pentru a efectua operații pe șiruri de caractere, cum ar fi compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() etc.

Implementează clasa java.lang.String Serializabil , Comparabil și CharSequence interfețe .

Șir în Java

Interfața CharSequence

Interfața CharSequence este folosită pentru a reprezenta secvența de caractere. Şir, StringBuffer și StringBuilder clasele îl implementează. Înseamnă că putem crea șiruri de caractere în Java utilizând aceste trei clase.

CharSequence în Java

Șirul Java este imuabil, ceea ce înseamnă că nu poate fi schimbat. Ori de câte ori schimbăm orice șir, este creată o nouă instanță. Pentru șirurile mutabile, puteți utiliza clasele StringBuffer și StringBuilder.

Vom discuta mai târziu șirul imuabil. Să înțelegem mai întâi ce este String în Java și cum să creăm obiectul String.

Ce este String în Java?

În general, String este o secvență de caractere. Dar în Java, șirul este un obiect care reprezintă o secvență de caractere. Clasa java.lang.String este folosită pentru a crea un obiect șir.

Cum se creează un obiect șir?

Există două moduri de a crea obiectul String:

  1. Prin șir literal
  2. Prin cuvânt cheie nou

1) Literal șir

Literal Java String este creat folosind ghilimele duble. De exemplu:

 String s='welcome'; 

De fiecare dată când creați un literal șir, JVM-ul verifică mai întâi „poolul constant de șir”. Dacă șirul există deja în pool, este returnată o referință la instanța grupată. Dacă șirul nu există în pool, o nouă instanță de șir este creată și plasată în pool. De exemplu:

 String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance 

șir Java

În exemplul de mai sus, va fi creat un singur obiect. În primul rând, JVM nu va găsi niciun obiect șir cu valoarea „Bun venit” în pool-ul constant de șir, de aceea va crea un obiect nou. După aceea, va găsi șirul cu valoarea „Bun venit” în pool, nu va crea un obiect nou, ci va returna referința la aceeași instanță.

Notă: Obiectele șiruri sunt stocate într-o zonă specială de memorie cunoscută sub numele de „pool constant de șir”.

De ce Java folosește conceptul de String literal?

Pentru a face Java mai eficient memoria (deoarece nu sunt create obiecte noi dacă există deja în pool-ul constant de șiruri).

2) Prin cuvânt cheie nou

 String s=new String('Welcome');//creates two objects and one reference variable 

In acest caz, JVM va crea un nou obiect șir în memoria heap normală (non-pool), iar literalul „Bun venit” va fi plasat în pool-ul constant șir. Variabila s se va referi la obiectul dintr-un heap (non-pool).

caracter în șir în java

Exemplu de șir Java

StringExample.java

 public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }} 
Testează-l acum

Ieșire:

java strings example 

Codul de mai sus convertește a char matrice într-un Şir obiect. Și afișează obiectele String s1, s2 , și s3 pe consolă folosind println() metodă.

Metode de clasă Java String

Clasa java.lang.String oferă multe metode utile pentru a efectua operații pe secvența valorilor char.

Nu.MetodăDescriere
1 char charAt(index int) Returnează valoarea char pentru un anumit index
2 lungime int() Returnează lungimea șirului
3 Format String static (Format String, Object... args) Returnează un șir formatat.
4 Format String static (Locale l, Format String, Object... args) Returnează șirul formatat cu o localitate dată.
5 Subșir șir (int beginIndex) Returnează subșir pentru indexul de început dat.
6 Subșir șir (int beginIndex, int endIndex) Returnează subșir pentru indexul de început și indexul de final dat.
7 boolean conține(CharSequence s) Returnează adevărat sau fals după potrivirea secvenței valorii char.
8 static String join(CharSequence delimitator, CharSequence... elemente) Returnează un șir îmbinat.
9 static String join (delimitator CharSequence, elemente iterabile) Returnează un șir îmbinat.
10 boolean este egal(obiect altul) Verifică egalitatea șirului de caractere cu obiectul dat.
unsprezece boolean este gol () Verifică dacă șirul este gol.
12 String concat(String str) Concatenează șirul specificat.
13 String replace(char vechi, char nou) Acesta înlocuiește toate aparițiile valorii char specificate.
14 String replace(CharSequence vechi, CharSequence nou) Acesta înlocuiește toate aparițiile CharSequence specificate.
cincisprezece static String equalsIgnoreCase(String alt) Se compară un alt șir. Nu verifică cazul.
16 String[] split(String regex) Returnează un șir împărțit care se potrivește cu expresia regex.
17 String[] split(String regex, int limit) Returnează un șir divizat care se potrivește regex și limită.
18 String intern() Returnează un șir internat.
19 int indexOf(int ch) Returnează indexul valorii char specificat.
douăzeci int indexOf(int ch, int dinIndex) Returnează indexul valorii char specificat, începând cu indexul dat.
douăzeci și unu int indexOf(subșir șir) Returnează indexul subșirului specificat.
22 int indexOf(șir subșir, int dinIndex) Returnează indexul subșirului specificat, începând cu indexul dat.
23 String toLowerCase() Returnează un șir cu litere mici.
24 String toLowerCase (Locală l) Returnează un șir cu litere mici utilizând locale specificate.
25 String toUpperCase() Returnează un șir cu majuscule.
26 String toUpperCase (Locală l) Returnează un șir de caractere cu majuscule folosind localitatea specificată.
27 Trim șir () Îndepărtează spațiile de început și de sfârșit ale acestui șir.
28 static String valueOf(valoare int) Convertește tipul dat în șir. Este o metodă supraîncărcată.

Știi?
  • De ce sunt obiectele String imuabile?
  • Cum se creează o clasă imuabilă?
  • Ce este pool constant de șiruri?
  • Ce cod este scris de compilator dacă concatenați orice șir cu + (operatorul de concatenare a șirurilor)?
  • Care este diferența dintre clasa StringBuffer și StringBuilder?

Ce vom învăța în String Handling?
  • Conceptul de șir
  • Șir imuabil
  • Comparație de șiruri
  • Concatenarea șirurilor
  • Conceptul de subșir
  • Metodele clasei de șiruri și utilizarea acesteia
  • Clasa StringBuffer
  • Clasa StringBuilder
  • Crearea clasei imuabile
  • metoda toString().
  • Clasa StringTokenizer