5

Java - Преобразование целого числа в строку

21

Описание проблемы: Конвертация int в String в Java

Я столкнулся с проблемой преобразования целого числа в строку в Java. У меня есть следующий код:

int number = 1234;

Мне нужно получить строковое представление этого числа, то есть:

String stringNumber = "1234";

Я искал информацию по этому вопросу (гуглил), но не нашел надежных источников. Можете подсказать, какой способ является "лучшим" для выполнения данной операции?

Заранее спасибо!

5 ответ(ов)

10

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

  • String.valueOf(number) (мой предпочтительный вариант)
  • "" + number (не знаю, как компилятор это обрабатывает, возможно, это также эффективно, как и в предыдущем случае)
  • Integer.toString(number)
0

Класс Integer имеет статический метод toString(), который можно использовать следующим образом:

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

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

0

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

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

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

Такой подход не только менее эффективен, но и менее читаем по сравнению с использованием специализированных методов для преобразования числа в строку. Поэтому рекомендуется всегда выбирать более оптимальные варианты.

0

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

"" + number;

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

0

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

Integer.toString(int);

или

String.valueOf(int);

Если у вас есть целое число i и строка s, то можно использовать:

int i;
String s = Integer.toString(i); // или
String s = String.valueOf(i);

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

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

Однако стоит отметить, что Integer.valueOf(s) возвращает объект Integer, а метод intValue() приводит его к примитивному типу int. Вы также можете использовать следующую конструкцию, которая работает более напрямую:

i = Integer.parseInt(s);

Этот метод будет более удобным для преобразования строки в целое число.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь