Tabla de Contenidos
În majoritatea limbajelor de programare, inclusiv Java, concatenarea se referă la operația de unire a două sau mai multe șiruri de caractere într-un singur șir nou mai lung . Acest lucru se poate face în moduri diferite, în funcție de limbajul de programare utilizat și chiar și în cadrul aceluiași limbaj de programare, există adesea mai multe moduri de a concatena șiruri.
În cazul limbajului de programare Java, șirurile de caractere se încadrează în unul dintre cele mai importante tipuri de date numite String . În Java, șirurile de caractere sunt obiecte și există două moduri diferite de a le concatena: una utilizează operatorul de adăugare sau adăugare (+), iar cealaltă utilizează metoda concat() a clasei String .
Să vedem cum funcționează ambele metode:
Concatenați șiruri în Java folosind operatorul +
Aceasta este una dintre cele mai ușoare și mai utilizate metode de a concatena șiruri în Java. Această formă de concatenare constă pur și simplu în interpunerea operatorului + între șirurile de concatenat.
De exemplu, dacă scriem:
„Așa concatenați șirurile” + „în Java.”
Rezultatul va fi: Așa sunt concatenate șirurile în Java.
Operatorul + vă permite să concatenați mai multe șiruri consecutive.
Unul dintre avantajele concatenării utilizând operatorul + este că vă permite să concatenați mai multe șiruri, unul după altul. De exemplu, dacă dorim să combinăm „Așa sunt concatenate șirurile” cu „în Java”. Și „Este foarte ușor!”, atunci ar fi necesar doar să interpoziți operatorul + între fiecare pereche de expresii:
„Așa concatenați șirurile” + „în Java.” + „Este atât de ușor!”
Acest lucru va avea ca rezultat un șir care spune: Iată cum se concatenează șirurile în Java. Prea ușor!
Operatorul + poate fi folosit în instrucțiunea println().
În cazul în care doriți să imprimați rezultatul concatenării mai multor șiruri de caractere, acest lucru este la fel de simplu ca și utilizarea operatorului + în interiorul instrucțiunii println() .
Operatorul + vă permite să combinați diferite obiecte sub forma unui șir.
O caracteristică importantă a operatorului + este că acceptă variabile predefinite ca argumente, precum și numere și literale șir (expresii citate, cum ar fi „Hello world”).
Operatorul realizează acest lucru apelând automat metoda toString() atunci când acționează asupra obiectelor fără șir, transformându-le în șiruri de caractere înainte de a le concatena cu restul. În acest fel, poate fi folosit pentru a genera mesaje sub formă de șiruri de caractere de la alte obiecte din mediul de programare.
De exemplu, următorul cod definește câteva obiecte diferite și apoi folosește operatorul + pentru a le concatena într-un singur șir pentru a le imprima pe ecran:
String message 1 = „Așa sunt concatenate șirurile”;
Mesaj șir 2 = „obiecte diferite.”;
Int bnum = 3;
System.out.println (mesaj1 + „de la „ + numob + mesaj2);
Rularea acestui cod va imprima următorul mesaj:
Acesta este modul în care șirurile sunt concatenate din 3 obiecte diferite.
Concatenați șiruri în Java folosind metoda „concat()” a clasei String
În Java, clasa de obiecte String are metoda concat() care îndeplinește o funcție similară cu cea a operatorului +, adică permite ca un șir de caractere să fie concatenat cu altul. Cu toate acestea, are unele diferențe fundamentale cu operatorul menționat.
Această metodă funcționează prin concatenarea caracterelor unui al doilea șir pe care îl ia ca argument pentru șirul original . De exemplu:
String message 1 = „Așa sunt concatenate șirurile”; // aceasta creeazămesajul String1
String message 2 = „folosind metoda concat ().”; // aceasta creeazămesajul String2
mesaj1 = mesaj1.concat(mesaj2); // aceasta concatenează mesajul1 cu mesajul2
System.out.println (mesaj1)
Rezultatul acestui cod este că va fi imprimat pe ecran:
Acesta este modul în care concatenați șirurile folosind metoda concat ().
Ce mod de concatenare este de preferat în Java?
Întrebarea firească atunci când există mai multe moduri de a face lucrurile este: „Care este mai bine?”
În general, operatorul + este mai versatil decât metoda concat () din mai multe motive:
- Vă permite să concatenați un număr nelimitat de obiecte, în timp ce metoda concatenării vă permite să concatenați doar două odată.
- Vă permite să combinați diferite clase de obiecte într-un singur șir prin apelarea automată a metodei toString () atunci când o variabilă sau un obiect nu este un șir. În schimb, concat poate fi apelat numai pe un obiect care este un șir și ia doar un alt șir ca parametru .
Din aceste două motive, operatorul + este folosit mult mai frecvent decât metoda concat . Cu toate acestea, există o situație în care metoda concat poate fi benefică. Spre deosebire de operatorul +, metoda concat nu își transformă argumentul într-un șir. Din acest motiv, dacă încercați să concatenați un obiect care nu există, aplicația va arunca o eroare ( NullPointerException ) și nu va trece neobservată, așa cum ar fi dacă ați folosi operatorul +.