Ce face String.valueOf
String.valueOf(x) este calea standard de a transforma o valoare în text. Are variante pentru toate tipurile primitive (int, double, boolean, char…), pentru char[] și pentru orice obiect. Pentru un obiect apelează toString(), dar dacă obiectul este null returnează textul "null" în loc să arunce excepție.
copyValueOf(data) și copyValueOf(data, offset, count) creează un șir din caracterele unui char[] (toate sau count caractere de la offset). Fac același lucru ca valueOf(char[]) și new String(data, offset, count); numele vine din primele versiuni Java.
Parametri
| Parametru | Descriere |
|---|---|
valoarea |
Numărul, caracterul, booleanul, obiectul sau array-ul de transformat. |
offset, count |
La copyValueOf/valueOf(char[], int, int): de unde se începe și câte caractere se iau. |
Ce returnează
Textul corespunzător valorii.
Exemple
Exemplul 1: Diverse tipuri transformate în text
public class Main {
public static void main(String[] args) {
String a = String.valueOf(42);
String b = String.valueOf(9.5);
String c = String.valueOf(true);
String d = String.valueOf('ș');
System.out.println(a + " " + b + " " + c + " " + d);
System.out.println(a.length() + b.length());
Object nimic = null;
System.out.println(String.valueOf(nimic));
}
}
Rezultat
42 9.5 true ș
5
null
Exemplul 2: Din char[] în String
public class Main {
public static void main(String[] args) {
char[] litere = {'B', 'r', 'a', 'ș', 'o', 'v'};
System.out.println(String.valueOf(litere));
System.out.println(String.copyValueOf(litere, 0, 4));
System.out.println(String.valueOf(litere, 2, 4));
}
}
Rezultat
Brașov
Braș
așov
Exemplul 3: Suma cifrelor unui număr
Transformăm numărul în text ca să îi parcurgem cifrele.
public class Main {
public static void main(String[] args) {
int numar = 2024;
String cifre = String.valueOf(numar);
int suma = 0;
for (char c : cifre.toCharArray()) {
suma += c - '0';
}
System.out.println("Suma cifrelor lui " + numar + " este " + suma);
}
}
Rezultat
Suma cifrelor lui 2024 este 8
Greșeli frecvente
- Scrii
obiect.toString()pe o valoare care poate finullși primeștiNullPointerException.String.valueOf(obiect)dă"null". - Transformi un număr în text cu
"" + numar. Funcționează, darString.valueOf(numar)spune clar ce vrei.
Comenzi înrudite
Integer.toString: Transformă un număr întreg în text, în baza 10 sau în orice bază între 2 și 36.String.toCharArray: toCharArray() copiază șirul într-un array nou de char; getChars() copiază o porțiune într-un array existent.Objects.toString: Transformă un obiect în text fără să arunce excepție pentru null: dă „null” sau textul ales de tine.String.format: Construiește un șir dintr-un șablon cu %s, %d, %.2f etc.; formatted() face același lucru pe șablon.