Java-Konwertuj liczbę całkowitą na ciąg znaków [duplikat]

To pytanie ma już odpowiedź tutaj:

Podany numer:

int number = 1234;

Które byłoby "najlepszym" sposobem przekonwertowania tego na ciąg znaków:

String stringNumber = "1234";

Próbowałem szukać (googling) odpowiedzi, ale nie wiele wydawało się "godne zaufania".

Author: Anderson Green, 2011-02-21

7 answers

Istnieje wiele sposobów:

  • String.valueOf(number) (moje preferencje)
  • "" + number (Nie wiem jak kompilator sobie z tym radzi, być może jest tak wydajny jak powyższy)
  • Integer.toString(number)
 714
Author: Bozho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-21 21:12:30

Klasa Integer posiada statyczną metodę toString () - możesz jej użyć:

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

Zwraca obiekt String reprezentujący podaną liczbę całkowitą. Argument jest konwertowany do podpisanej reprezentacji dziesiętnej i zwracany jako łańcuch znaków, dokładnie tak, jakby argument i radix 10 zostały podane jako argumenty metody toString(int, int).

 48
Author: smas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-21 20:51:24

Zawsze używaj String.valueOf(number) lub Integer.toString(number).

Użycie liczby "" + jest nagłówkiem i wykonuje następujące czynności:

StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(number);
return sb.toString();
 34
Author: AllThatICode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-21 07:17:02

To wystarczy. Godny zaufania. : )

    ""+number;

Dla jasności, to działa i dopuszczalne w użyciu, chyba że szukasz mikro optymalizacji.

 33
Author: Nishant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-24 09:07:02

Sposób, w jaki wiem, jak przekonwertować liczbę całkowitą na ciąg znaków, polega na użyciu następującego kodu:

Integer.toString(int);

I

String.valueOf(int);

Jeśli masz liczbę całkowitą i i łańcuch s, wtedy zastosuje się następujące rozwiązanie:

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

Jeśli chcesz przekonwertować łańcuch " s "na liczbę całkowitą "i", wtedy będzie działać:

i = Integer.valueOf(s).intValue();
 16
Author: danjonila,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-26 08:46:08

Jest to metoda, której użyłem do konwersji liczby całkowitej NA string.Popraw mnie, jeśli zrobiłem źle.

/**
 * @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();
}
 2
Author: Jegan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-28 04:40:41

Taki, którego często używam:

 Integer.parseInt("1234");
Chodzi o to, że istnieje wiele sposobów, aby to zrobić, wszystkie równie ważne. Co do tego, który jest najbardziej optymalny/wydajny, musisz zapytać kogoś innego.
 -3
Author: DYezek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-10 21:20:08