Cum convertești un număr de tipul int în tipul String?
Sursă imagine: Chris Leggat on Unsplash

Vei întâlni foarte des situații în care trebuie să convertești o valoare de un anumit tip într-un alt tip. Cum convertești un număr de tipul int în tipul String?

Să zicem că ai următoarele variabile definite. Ce afișează următorul cod?

1| int a = 123;
2| String b = "123";
3| int c = a + b;
4| String d = a + b;
5| 
6| System.out.println(c);
7| System.out.println(d);

Programul va returna o eroare începând cu linia a 3-a. Nu poți face o adunare între un număr întreg și un șir de caractere!

Ce trebuie să faci în acest caz? Să te folosești de anumite funcții speciale de convertire.

Metoda toString(…)

Ce face metoda toString(…)? Așa cum îi spune și numele, convertește numărul din paranteză în tipul String. Aici ai nevoie de clasa Integer. Îți recomand articolul O clasă în Java pentru a învăța ce este o clasă… Cum se folosește metoda toString(…)? Sunt 2 variante:

  • fie scrii clasa, atașezi metoda și pui în interior numărul pe care-l vrei convertit. Exemplu: Integer.toString(123);
  • fie declari un nou obiect căruia îi atribui variabila pe care vrei să o convertești. Exemplu:
1| int a = 123;
2| Integer b = new Integer(a);
3| System.out.println(Integer.toString(b));

Metoda valueOf(…)

Folosește metoda valueOf(…) atașată de clasa String. Această metodă pare mai simplă… Exemplu:

1| int a = 123;
2| System.out.println(String.valueOf(a)); // afișează 123 (ca șir de caractere)

„Metoda” concatenării

Ce reprezintă „metoda” concatenării? Am pus cuvântul „metodă” între ghilimele pentru că nu este chiar o metodă, ci un concept în sine foarte dezvoltat, utilizat la îmbinarea șirurilor de caractere. Practic, dacă pui un șir de caractere (între ghilimele duble) la început, chiar dacă adaugi apoi numere, întregul rezultat va fi un șir de caractere… Exemplu:

1| int a = 123;
2| int b = 321;
3| System.out.println("" + a + b); // afișează 123321

De ce programul anterior afișează șirul „123321”? Pentru că la început avem un șir de caractere de lungimea 0 (zero), care este adăugat următoarelor componente (variabilelor a și b). Variabilele a și b nu mai sunt eligibile pentru a fi calculate din punct de vedere matematic, deoarece întregul rezultat va fi un șir de caractere… E ca și cum vrei să te dai jos din gară la Oradea, dar trenul nu oprește până la Brașov (și ți s-a spus asta înainte să te urci în tren…). Glumesc… E prea de tot analogia…

Hai să-ți dau alt exemplu ca să înțelegi mai clar. Dacă aveai suma lui a și b înaintea șirului (gol) de caractere, atunci se făcea suma, apoi se transforma totul în șir…

1| int a = 10;
2| int b = 20;
3| 
4| System.out.println("" + a + b); // afișează 1020
5| System.out.println(a + b + ""); // afișează 30
6| System.out.println(b + "" + a); // afișează 2010

Concatenarea mi se pare metoda cea mai simplă și mai „ieftină” dintre toate. Bineînțeles că mai sunt câteva metode, dar nici măcar nu le voi enumera pentru că nu merită… momentan…

Așadar, cum convertești un număr de tipul int în tipul String? Ai la îndemână 3 metode. Alege-o pe cea mai bună!

Învață să fii profesionist!


Sursă imagine: Chris Leggat on Unsplash

By projava

#JAVA

Abonează-te
Primește notificări pentru
guest
0 Comentarii
Cele mai vechi
Cele mai noi Cele mai votate
Păreri...
Vezi toate comentariile