Java中int转换为String - Integer.toString(i)与new Integer(i).toString()的区别

442
有时候Java让我感到困惑。我需要初始化很多int类型的变量。
这两种方法有什么区别呢?
1. Integer.toString(i) 2. new Integer(i).toString()

20
我会使用 "" + 42,但这只是我的个人偏好。第二种形式将产生一个新的整数对象(对于大多数i的值)作为中间结果。它也需要更多的打字。 - user166390
16
如果中间对象让你有顾虑,那么 "" + 42 也不会更好,因为它需要一个中间的 StringBuilder,而这比一个 Integer 更重。 - Joachim Sauer
49
"+ 42"可能会起作用,但这是一个不好的主意。像我这样的人会来查看你的代码,试图弄清楚空字符串到底发生了什么。 - Mainguy
3
我不建议使用 "" + 42,因为在将整数字符串连接起来时,你可能会不经意地将它们相加而没有注意到。 - BoltzmannBrain
23
如果你不喜欢大量的打字,那么你可能不应该使用Java编程。 - Adam Pierce
显示剩余3条评论
11个回答

0

1.Integer.toString(i)

Integer i = new Integer(8);
    // returns a string representation of the specified integer with radix 8
 String retval = i.toString(516, 8);
System.out.println("Value = " + retval);

2.new Integer(i).toString()

 int i = 506;

String str = new Integer(i).toString();
System.out.println(str + " : " + new Integer(i).toString().getClass());////506 : class java.lang.String

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接