在我的编码中,我需要将整数值更改为字符串值。要将强制转换整数转换为字符串,请使用串联“”到整数。
我发现另一种方法是使用 String.parseInt(..); 方法。
我的问题是我不知道哪个是在java中进行强制转换的优化方法以及它是如何优化的?除了我的代码之外还有其他任何方式可以投射吗?
我的示例代码:
int total = mark1 + mark2;
String str_total = ""+total; // currently doing.
.......
String str_total = String.parseInt(total); // i am planning to do.
答案 0 :(得分:1)
您也可以使用 -
String str_total = String.valueOf(total);
OR
在代码中使用Integer rahter而不是int,然后在Integer上使用toString(),如
Integer total = mark1 + mark2;
String str_total = total.toString();
在您的代码中 -
String str_total =“”+ total;
实际上,您要为""
和第二str_total
但在我的代码中,只会创建one new string object
。
String类中valueOf的实现如下 -
public static String valueOf(int i) {
return Integer.toString(i);
}
这里toString将创建一个新的String对象
答案 1 :(得分:1)
String.valueOf(int)
方法调用Integer.toString(int)
。
执行字符串连接(""+i
),首先将i
转换为Integer
,然后调用函数Integer.toString
以获取String
的值整数。
因此,调用String.valueOf(int)
将比字符串连接更好,因为它会跳过Integer
对象的创建。
答案 2 :(得分:0)
String str_total = String.valueOf(total);
String.valueOf(int)
效率高于""+int
所以更喜欢使用String.valueOf(int)
请参阅this链接以了解性能测量结果。
在Jdk中> 1.5你也可以使用它。
String str_total= String.format ("%d", total);
答案 3 :(得分:0)
另一种方法:
int intValue = 1;
String str1 = String.format("%d", intValue);
您还可以控制值的显示方式(前导零,基数等)。查找更多信息here。
关于这一点很酷的是,在我看来,这个
String str2 = String.format("Blabla %d blupp %dm etc", intValue1, intValue2);
看起来更具可读性(如果您熟悉格式),那么
String str3 = "Balbla " + intValue1 + " blupp " + intValue2 + "m etc";
(+你可以更好地控制它的显示方式)。
答案 4 :(得分:0)
由于Integer
不能保持如此大的价值,这会使其用科学记数法表示,我认为
Integer.toString()
将完全奏效。
如果您想以某种方式格式化数字,请使用NumberFormat
,如下所示:
Integer myInt = 31535468;
NumberFormat nf = NumberFormat.getInstance();
String myString = nf.format(myInt);
我认为使用NumberFormat
是最传统的方式。