Ce face String.concat
a.concat(b) returnează un șir nou: a urmat de b. Ca toate metodele String, nu modifică a.
Diferențe față de operatorul +: concat acceptă doar un String (nu numere), aruncă NullPointerException dacă argumentul este null (pe când + scrie textul "null") și, dacă b este gol, returnează chiar a. În practică, + este folosit mult mai des.
Parametri
| Parametru | Descriere |
|---|---|
str |
Șirul adăugat la final. Nu poate fi null. |
Ce returnează
Șirul nou; sau același obiect, dacă str este gol.
Exemple
Exemplul 1: concat și +
public class Main {
public static void main(String[] args) {
String prenume = "Ana";
String nume = prenume.concat(" ").concat("Popescu");
System.out.println(nume);
System.out.println(prenume);
System.out.println(prenume + " are " + 21 + " de ani");
System.out.println(prenume.concat("") == prenume);
}
}
Rezultat
Ana Popescu
Ana
Ana are 21 de ani
true
Exemplul 2: Diferența la null
public class Main {
public static void main(String[] args) {
String oras = null;
System.out.println("Oraș: " + oras);
try {
System.out.println("Oraș: ".concat(oras));
} catch (NullPointerException e) {
System.out.println("concat a aruncat NullPointerException");
}
}
}
Rezultat
Oraș: null
concat a aruncat NullPointerException
Greșeli frecvente
- Încerci
s.concat(5): nu compilează,concatprimește doarString. Foloseștes + 5saus.concat(String.valueOf(5)). - Uiți că rezultatul trebuie salvat:
s.concat("!")singur nu schimbăs.
Comenzi înrudite
String.join: Lipește mai multe șiruri într-unul singur, cu un separator între ele (opusul lui split).StringBuilder.append: Adaugă la sfârșitul textului un șir, un caracter, un număr sau orice obiect și returnează același StringBuilder.String.valueOf: Transformă orice valoare (număr, boolean, char, obiect, char[]) în String; copyValueOf face un șir dintr-un char[].String: Clasa pentru text în Java: un șir de caractere care nu se mai poate modifica după ce a fost creat.