Java – Converteer geheel getal naar string

Gegeven een nummer:

int number = 1234;

Wat zou de “beste” manier zijn om dit naar een string te converteren:

String stringNumber = "1234";


Ik heb geprobeerd te zoeken (googlen) naar een antwoord, maar er waren er niet veel die “betrouwbaar” leken.


Antwoord 1, autoriteit 100%

Er zijn meerdere manieren:

  • String.valueOf(number) (mijn voorkeur)
  • "" + number (ik weet niet hoe de compiler ermee omgaat, misschien is het net zo efficiënt als het bovenstaande)
  • Integer.toString(number)

Antwoord 2, autoriteit 7%

Integer-klasse heeft statische methode toString() – u kunt deze gebruiken:

int i = 1234;
String str = Integer.toString(i);

Retourneert een String-object dat het opgegeven gehele getal vertegenwoordigt. Het argument wordt geconverteerd naar een getekende decimale representatie en geretourneerd als een tekenreeks, precies alsof het argument en de radix 10 als argumenten aan de methode toString(int, int) zijn gegeven.


Antwoord 3, autoriteit 5%

Gebruik altijd String.valueOf(number) of Integer.toString(number).

Het gebruik van “” + nummer is een overhead en doet het volgende:

StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(number);
return sb.toString();

Antwoord 4, autoriteit 4%

Dit is voldoende. Vrij betrouwbaar. : )

    ""+number;

Voor alle duidelijkheid: dit werkt en is acceptabel om te gebruiken, tenzij u op zoek bent naar micro-optimalisatie.


Antwoord 5, autoriteit 2%

De manier waarop ik weet hoe ik een geheel getal naar een tekenreeks moet converteren, is door de volgende code te gebruiken:

Integer.toString(int);

en

String.valueOf(int);

Als je een geheel getal i had, en een string s, dan zou het volgende van toepassing zijn:

int i;
String s = Integer.toString(i); or
String s = String.valueOf(i);

Als je een string “s” wilt converteren naar een geheel getal “i”, dan zou het volgende werken:

i = Integer.valueOf(s).intValue();

Antwoord 6

Dit is de methode die ik heb gebruikt om het gehele getal naar string te converteren. Corrigeer me als ik het verkeerd heb gedaan.

/**
 * @param a
 * @return
 */
private String convertToString(int a) {
    int c;
    char m;
    StringBuilder ans = new StringBuilder();
    // convert the String to int
    while (a > 0) {
        c = a % 10;
        a = a / 10;
        m = (char) ('0' + c);
        ans.append(m);
    }
    return ans.reverse().toString();
}

Antwoord 7

Eentje die ik vaak gebruik:

 Integer.parseInt("1234");

Het punt is dat er tal van manieren zijn om dit te doen, allemaal even geldig. Wat het meest optimaal/efficiënt is, zou je aan iemand anders moeten vragen.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

two × one =

Other episodes