Java-преобразование целого числа в строку [дубликат]

этот вопрос уже есть ответ здесь:

дали номер:

int number = 1234;

который был бы "лучшим" способом преобразовать это в строку:

String stringNumber = "1234";

Я пробовал искать (гуглить) ответ, но многие не казались "надежными".

7 ответов


есть несколько способов:

  • String.valueOf(number) (мое предпочтение)
  • "" + number (Я не знаю, как компилятор обрабатывает его, возможно, он также эффективен, как и выше)
  • Integer.toString(number)

класса Integer имеет статический метод toString() - вы можете использовать:

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

возвращает строковый объект, представляющий указанное целое число. Аргумент преобразуется в десятичное представление со знаком и возвращается в виде строки, точно так же, как если бы аргумент и radix 10 были заданы в качестве аргументов toString(int, int) метод.


всегда использовать String.valueOf(number) или Integer.toString(number).

использование "" + номер накладные расходы и делает следующее:

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

Это будет делать. Довольно надежный. : )

    ""+number;

чтобы уточнить, это работает и приемлемо для использования, если вы не ищете микро-оптимизацию.


кстати, я знаю, как преобразовать целое число в строку, используя следующий код:

Integer.toString(int);

и

String.valueOf(int);

если бы у вас было целое число i и строка s, то применялось бы следующее:

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

если вы хотите преобразовать строку " s "в целое число" i", то будет работать следующее:

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

Это метод, который я использовал для преобразования числа в строку.Поправь меня, если я ошибся.

/**
 * @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();
}

тот, который я часто использую:

 Integer.parseInt("1234");

точка, есть много способов сделать это, все одинаково действует. Что касается того, что является наиболее оптимальным/эффективным, вам нужно спросить кого-то другого.