我如何连接Double
到String
在java中?Java:如何连接双字符串到字符串
我有下面这段代码:
Double price = 5.34;
String trade = MSFT;
现在我String key = price + trade
,不知道这是做的正确的方式,有什么建议?
我如何连接Double
到String
在java中?Java:如何连接双字符串到字符串
我有下面这段代码:
Double price = 5.34;
String trade = MSFT;
现在我String key = price + trade
,不知道这是做的正确的方式,有什么建议?
Java字符串连接默认使用+
符号完成。
但有些时候这不是一个好的做法,因为这会在您每次创建时创建一个新的字符串实例,所以如果您处于循环中,则会为每次迭代在内存中创建一个新字符串。
因此,对于简单的情况,+
是完全有效的。
对于其他情况,您应该使用StringBuilder。
同意w /这个答案。也可以在其他情况下使用StringBuffer,虽然(http://stackoverflow.com/questions/2971315/string-stringbuffer-and-stringbuilder) – Chandrew 2012-08-06 14:33:54
您可以使用String.valueOf(price)
进行转换。所以你必须
Double price = 5.34;
String trade = MSFT;
String key = String.valueOf(price) + trade;
完全一样的东西,但更冗长...... – assylias 2012-08-06 14:20:08
我或许会用String.format(),你就能够控制双重的格式化的字符串中。例如您可以控制前导零点,显示的dps数量等。
查看this SO answer的示例。这里是底层Formatter和the standard tutorial的文档。
String key = Double.toString(price)+ trade;
格式字符串 - http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html
如何使用它的一个例子。
http://www.tech-recipes.com/rx/1326/java-decimal-format-to-easily-create-custom-output/
以将其输出,使用+操作数。如果您正在寻找性能,这将创建另一个字符串。您也可以使用字符串生成器 - http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuilder.html。
您也可以将Double转换为toString()。
Double price = 5.34;
String trade = MSFT;
String key = Double.toString(price) + trade;
下面是toSting()方法中的细节: http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#toString(double)
但是,使用一个StringBuffer是更有效的。
Regards, Dekx。
String key = price + trade
没有问题。它比String.valueOf(price) + trade
或StringBuilder
更可读。
可能,我会用相同的方法。 – Rachel 2012-08-06 17:24:15
你的建议确实如此,它连接了双精度和字符串。你的问题是什么?你需要双倍的特定格式吗? – assylias 2012-08-06 14:21:56
@assylias:我想知道这是否是最好的方式? – Rachel 2012-08-06 14:23:43
最好的方法取决于上下文作为答案显示:如果您需要控制格式,您可以使用字符串。格式,如果你不在乎,那么使用'+'就好了,如果你多次重复执行,StringBuilder可能是有意义的,等等。 – assylias 2012-08-06 14:43:33