Șir Java (cu exemple)

În acest tutorial, vom învăța despre șirurile Java, cum să le creăm și diverse metode de șir cu ajutorul exemplelor.

În Java, un șir este o secvență de caractere. De exemplu, „salut” este un șir care conține o secvență de caractere „h”, „e”, „l”, „l” și „o”.

Folosim ghilimele duble pentru a reprezenta un șir în Java. De exemplu,

 // create a string String type = "Java programming";

Aici, am creat o variabilă șir denumită tip. Variabila este inițializată cu șirul Java Programming.

Notă : siruri de caractere în Java nu sunt tipuri primitive (cum ar fi int, charetc). În schimb, toate șirurile sunt obiecte ale unei clase predefinite numite String.

Și, toate variabilele șir sunt instanțe ale Stringclasei.

Exemplu: Creați un șir în Java

 class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )

În exemplul de mai sus, am creat trei șiruri numite prima, a doua și a treia. Aici, creăm direct șiruri precum tipuri primitive.

Cu toate acestea, există un alt mod de a crea șiruri Java (folosind newcuvântul cheie). Vom afla despre asta mai târziu în acest tutorial.

Operații Java String

Java String oferă diverse metode pentru a efectua diferite operații pe șiruri. Vom analiza unele dintre operațiile de șir utilizate în mod obișnuit.

1. Obțineți lungimea unui șir

Pentru a găsi lungimea unui șir, folosim length()metoda Șirului. De exemplu,

 class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )

Ieșire

Șir: Bună ziua! Lungimea lumii: 12

În exemplul de mai sus, length()metoda calculează numărul total de caractere din șir și îl returnează. Pentru a afla mai multe, accesați Java String length ().

2. Alăturați două șiruri

Putem uni două șiruri în Java folosind concat()metoda. De exemplu,

 class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )

Ieșire

 Primul șir: Java Al doilea șir: Programare Șir alăturat: Programare Java

În exemplul de mai sus, am creat două șiruri numite prima și a doua. Observați declarația,

 String joinedString = first.concat(second);

Aici, concat()metoda unim prima și a doua și o atribuim variabilei joinString.

De asemenea, putem uni două șiruri folosind +operatorul în Java. Pentru a afla mai multe, vizitați Java String concat ().

3. Comparați două șiruri

În Java, putem face comparații între două șiruri folosind equals()metoda. De exemplu,

 class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )

Ieșire

 Șirurile prima și a doua sunt egale: adevărate Șirurile prima și a treia sunt egale: false

În exemplul de mai sus, am creat 3 șiruri numite prima, a doua și a treia. Aici, folosim equal()metoda pentru a verifica dacă un șir este egal cu altul.

În equals()metoda verifică conținutul siruri de caractere în timp ce le compara. Pentru a afla mai multe, accesați Java String equals ().

Notă : Putem compara și două șiruri folosind ==operatorul în Java. Cu toate acestea, această abordare este diferită de equals()metodă. Pentru a afla mai multe, accesați Java String == vs equals ().

Metode de șir Java

Pe lângă cele menționate mai sus, există diverse metode de șiruri prezente în Java. Iată câteva dintre aceste metode:

Metode Descriere
substring () returnează șirul de caractere al șirului
a inlocui() înlocuiește caracterul vechi specificat cu caracterul nou specificat
charAt () returnează caracterul prezent în locația specificată
getBytes () convertește șirul într-o matrice de octeți
Index de() returnează poziția caracterului specificat în șir
compara cu() compară două șiruri în ordinea dicționarului
tunde() îndepărtează orice spațiu alb principal și final
format() returnează un șir formatat
Despică() rupe șirul într-o serie de șiruri
toLowerCase () convertește șirul în minuscule
toUpperCase () convertește șirul în majuscule
valoarea() returnează reprezentarea șir a argumentului specificat
toCharArray () convertește șirul într-o charmatrice

Caracter de evadare în șiruri Java

Caracterul de evadare este folosit pentru a scăpa de unele dintre personajele prezente în interiorul unui șir.

Să presupunem că trebuie să includem ghilimele duble în interiorul unui șir.

 // include double quote String example = "This is the "String" class";

Deoarece șirurile sunt reprezentate prin ghilimele duble , compilatorul va trata „Acesta este” ca șir. Prin urmare, codul de mai sus va provoca o eroare.

Pentru a rezolva această problemă, folosim caracterul escape în Java. De exemplu,

 // use the escape character String example = "This is the "String " class.";

Acum, caracterele de evadare îi spun compilatorului să scape de ghilimele duble și să citească întregul text.

Șirurile Java sunt imuabile

În Java, șirurile sunt imuabile . Aceasta înseamnă că, odată ce creăm un șir, nu putem schimba acel șir.

Pentru a o înțelege mai profund, luați în considerare un exemplu:

 // create a string String example = "Hello! ";

Aici, am creat o variabilă șir numită exemplu. Variabila conține șirul „Bună ziua!”.

Acum, să presupunem că vrem să schimbăm șirul.

 // add another string "World" // to the previous tring example example = example.concat(" World");

Aici, folosim concat()metoda pentru a adăuga un alt șir Lumea la șirul anterior.

It looks like we are able to change the value of the previous string. However, this is not true.

Let's see what has happened here,

  1. JVM takes the first string "Hello! "
  2. creates a new string by adding "World" to the first string
  3. assign the new string "Hello! World" to the example variable
  4. the first string "Hello! " remains unchanged

Creating strings using the new keyword

So far we have created strings like primitive types in Java.

Since strings in Java are objects, we can create strings using the new keyword as well. For example,

 // create a string using the new keyword String name = new String("Java String");

In the above example, we have created a string name using the new keyword.

Here, when we create a string object, the String() constructor is invoked. To learn more about constructor, visit Java Constructor.

Note: The String class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).

Example: Create Java Strings using the new keyword

 class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )

Create String using literals vs new keyword

Now that we know how strings are created using string literals and the new keyword, let's see what is the major difference between them.

In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.

While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.

  • Dacă șirul există deja , noul șir nu este creat. În schimb, noua referință indică șirul existent.
  • Dacă șirul nu există , este creat noul șir.

Cu toate acestea, în timp ce creați șiruri folosind noul cuvânt cheie , valoarea șirului nu este furnizată direct. Prin urmare, noul șir este creat tot timpul.

Articole interesante...