给定一个数字:
int number = 1234;
哪种方法是将此内容转换为字符串的“最佳”方式:String stringNumber = "1234";
我已经尝试搜索(谷歌)答案,但是很多结果都不太可信。
给定一个数字:
int number = 1234;
哪种方法是将此内容转换为字符串的“最佳”方式:String stringNumber = "1234";
我已经尝试搜索(谷歌)答案,但是很多结果都不太可信。
有多种方法:
String.valueOf(number)
(我的首选)"" + number
(我不知道编译器如何处理它,也许和上面的一样有效)Integer.toString(number)
Integer类拥有静态方法toString() - 您可以使用它:
int i = 1234;
String str = Integer.toString(i);
返回表示指定整数的字符串对象。该参数被转换为带符号的十进制表示,并作为字符串返回,就像将该参数和基数10作为参数传递给toString(int, int)方法一样。始终使用 String.valueOf(number)
或 Integer.toString(number)
。
使用 "" + number 是一个额外的开销,会执行以下操作:
StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(number);
return sb.toString();
makeConcatWithConstants
方法的调用。一些旧版本可能使用StringBuffer。 - Pavel Vlasov ""+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();
Integer.toString(i)
和 String.valueOf(i)
有什么区别? - Kiquenet/**
* @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();
}
StringBuilder
可以在一次调用append
中接受整个整数!而且它适用于您的代码无法处理的所有特殊情况。您可以使用StringBuilder sb = new StringBuilder(); sb.append(intValue); return sb.toString();
替换整个内容。 - user229044