Java - Преобразование целого числа в строку
Описание проблемы: Конвертация int в String в Java
Я столкнулся с проблемой преобразования целого числа в строку в Java. У меня есть следующий код:
int number = 1234;
Мне нужно получить строковое представление этого числа, то есть:
String stringNumber = "1234";
Я искал информацию по этому вопросу (гуглил), но не нашел надежных источников. Можете подсказать, какой способ является "лучшим" для выполнения данной операции?
Заранее спасибо!
5 ответ(ов)
Существует несколько способов:
String.valueOf(number)
(мой предпочтительный вариант)"" + number
(не знаю, как компилятор это обрабатывает, возможно, это также эффективно, как и в предыдущем случае)Integer.toString(number)
Класс Integer имеет статический метод toString(), который можно использовать следующим образом:
int i = 1234;
String str = Integer.toString(i);
Этот метод возвращает объект типа String, представляющий заданное целое число. Аргумент преобразуется в строковое представление в десятичной системе счисления и возвращается именно так, как если бы аргумент и основание 10 были переданы в метод toString(int, int).
Всегда используйте String.valueOf(number)
или Integer.toString(number)
.
Использование "" + 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); // или
String s = String.valueOf(i);
Если вы хотите преобразовать строку s
в целое число i
, то вы можете использовать следующий код:
i = Integer.valueOf(s).intValue();
Однако стоит отметить, что Integer.valueOf(s)
возвращает объект Integer
, а метод intValue()
приводит его к примитивному типу int
. Вы также можете использовать следующую конструкцию, которая работает более напрямую:
i = Integer.parseInt(s);
Этот метод будет более удобным для преобразования строки в целое число.
Как преобразовать строку в int в Java?
Преобразование 'ArrayList<String>' в 'String[]' в Java
Как сгенерировать случайную алфавитно-цифровую строку
Как лучше всего преобразовать число в строку в JavaScript?
Как извлечь числа из строки в Python?