2012-08-06 78 views
0

我如何连接DoubleString在java中?Java:如何连接双字符串到字符串

我有下面这段代码:

Double price = 5.34; 
String trade = MSFT; 

现在我String key = price + trade,不知道这是做的正确的方式,有什么建议?

+3

你的建议确实如此,它连接了双精度和字符串。你的问题是什么?你需要双倍的特定格式吗? – assylias 2012-08-06 14:21:56

+0

@assylias:我想知道这是否是最好的方式? – Rachel 2012-08-06 14:23:43

+0

最好的方法取决于上下文作为答案显示:如果您需要控制格式,您可以使用字符串。格式,如果你不在乎,那么使用'+'就好了,如果你多次重复执行,StringBuilder可能是有意义的,等等。 – assylias 2012-08-06 14:43:33

回答

6

Java字符串连接默认使用+符号完成。

但有些时候这不是一个好的做法,因为这会在您每次创建时创建一个新的字符串实例,所以如果您处于循环中,则会为每次迭代在内存中创建一个新字符串。

因此,对于简单的情况,+是完全有效的。

对于其他情况,您应该使用StringBuilder

+0

同意w /这个答案。也可以在其他情况下使用StringBuffer,虽然(http://stackoverflow.com/questions/2971315/string-stringbuffer-and-stringbuilder) – Chandrew 2012-08-06 14:33:54

1

您可以使用String.valueOf(price)进行转换。所以你必须

Double price = 5.34; 
String trade = MSFT; 
String key = String.valueOf(price) + trade; 
+0

完全一样的东西,但更冗长...... – assylias 2012-08-06 14:20:08

3

我或许会用String.format(),你就能够控制双重的格式化的字符串中。例如您可以控制前导零点,显示的dps数量等。

查看this SO answer的示例。这里是底层Formatterthe standard tutorial的文档。

+0

什么是最好的做法? – Rachel 2012-08-06 14:18:40

+0

你可以举一个这个Brian的例子吗? – Rachel 2012-08-06 14:20:02

+0

我已经链接到上面的一个答案中的一些例子 – 2012-08-06 14:22:24

0

String key = Double.toString(price)+ trade;

0

String key = price + trade没有问题。它比String.valueOf(price) + tradeStringBuilder更可读。

+0

可能,我会用相同的方法。 – Rachel 2012-08-06 17:24:15