Java-преобразование целого числа в строку [дубликат]
этот вопрос уже есть ответ здесь:
- Java int to String-Integer.toString(i) vs новое целое число (i).toString () 11 ответов
- как преобразовать из int в String? 19 ответов
дали номер:
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");
точка, есть много способов сделать это, все одинаково действует. Что касается того, что является наиболее оптимальным/эффективным, вам нужно спросить кого-то другого.