1

我如何在java中Double连接?String

我有以下代码:

Double price = 5.34;
String trade = MSFT;

现在我有String key = price + trade,不确定这是否是正确的做法,有什么建议吗?

4

7 回答 7

7

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

但是有时这不是一个好习惯,因为每次执行此操作都会创建一个新的字符串实例,因此如果您处于循环中,这将为每次迭代在内存中创建一个新字符串。

所以对于简单的情况,+是完全有效的。

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

于 2012-08-06T14:20:50.213 回答
4

我可能会使用String.format()并且您将能够控制字符串中双精度的格式。例如,您可以控制前导零、显示的 dps 数量等。

有关示例,请参见此 SO 答案。这是底层Formatter的文档和标准教程

于 2012-08-06T14:17:46.743 回答
1

您可以使用String.valueOf(price)转换。所以你会有

Double price = 5.34;
String trade = MSFT;
String key = String.valueOf(price) + trade;
于 2012-08-06T14:17:39.883 回答
0

没有错String key = price + trade。它比String.valueOf(price) + trade或使用StringBuilder.

于 2012-08-06T16:16:28.080 回答
0

字符串键 = Double.toString(price) + trade;

于 2012-08-06T14:20:08.573 回答
0

格式化字符串 - 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

于 2012-08-06T14:21:35.683 回答
0

您还可以使用 toString() 转换您的 Double。

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 更有效。

问候,德克斯。

于 2012-08-06T14:21:55.903 回答