我正在做一个项目,从int到String的所有转换都是这样完成的:
int i = 5;
String strI = "" + i;
我不熟悉Java。
这是惯例吗,还是像我猜想的那样,出了什么问题?
我正在做一个项目,从int到String的所有转换都是这样完成的:
int i = 5;
String strI = "" + i;
我不熟悉Java。
这是惯例吗,还是像我猜想的那样,出了什么问题?
当前回答
使用"" + i是将数字转换为字符串的最短和最简单的方法。它不是最有效的,但它是最清晰的,这通常是更重要的。代码越简单,出错的可能性就越小。
其他回答
使用Integer.toString (tmpInt) .trim ();
这不是一个好方法。
当进行从int到string的转换时,应该使用这个:
int i = 5;
String strI = String.valueOf(i);
我知道的另一种方法来自Integer类:
Integer.toString(int n);
Integer.toString(int n, int radix);
一个具体的例子(尽管我认为你不需要):
String five = Integer.toString(5); // returns "5"
它也适用于其他基本类型,例如Double.toString。
请看这里了解更多细节。
尝试简单的类型转换
char c = (char) i;
Personally I think that "" + i does look as the original question poster states "smelly". I have used a lot of OO languages besides Java. If that syntax was intended to be appropriate then Java would just interpret the i alone without needing the "" as desired to be converted to a string and do it since the destination type is unambiguous and only a single value would be being supplied on the right. The other seems like a 'trick" to fool the compiler, bad mojo when different versions of Javac made by other manufacturers or from other platforms are considered if the code ever needs to be ported. Heck for my money it should like many other OOL's just take a Typecast: (String) i. winks
考虑到我的学习方式以及在快速阅读其他代码时易于理解这样的结构,我投票给Integer.toString(I)方法。忘记一个ns或两个在Java如何实现的东西在后台vs. String. valueof (i)这个方法感觉对我来说是正确的,并确切地说正在发生什么:我有一个整数,我希望它转换为字符串。
有一个很好的观点已经说过几次了,也许只是在前面使用StringBuilder是一个很好的答案,构建混合文本和int或其他对象的字符串,因为这将在后台使用,对吗?
我只是把我的两分钱投到曼斯问题的答案中……微笑
经过思考后,编辑成我自己的答案:
好的,好的,我在思考这个问题,String. valueof (I)也很好,它说:我想要一个表示整数值的字符串。哈哈,英语比Java更难解析!但是,我留下我其余的答案/评论…我总是被教导使用方法/函数链的最低级别,如果可能的话,仍然保持可读性,所以如果字符串。valueOf调用Integer。那么为什么要用整个橙子,如果你只是要剥它,嗯?
为了澄清我对StringBuilder的评论,我用文字文本和int's的组合构建了很多字符串,它们最终变得又长又丑,调用了上面提到的嵌入在+'s之间的例程,所以在我看来,如果这些成为SB对象,无论如何,append方法有重载,它可能会更干净,只是继续使用它…所以我想我现在在这件事上要花5美分了,是吗?哈哈