【问题标题】:Best practice to convert a Double to a String将 Double 转换为 String 的最佳实践
【发布时间】:2020-07-27 10:42:15
【问题描述】:

我正在使用

Double a = 0.00;

for(condition)
    //Do things

String result = "" + a;

会使用

String result = a.toString();

与我现在所拥有的相比,提供任何真正的好处。这只是对编译器有帮助还是两种方法之间有什么区别?

【问题讨论】:

  • 如果人们要否决我的问题,他们能解释一下原因吗?
  • 我的猜测是,downvotes 可能是由于问题不清楚,因为在标题中你知道double 和关于Double 的问题本身(这些类型是相关的,但不是同样的事情)。
  • 啊,好的,谢谢@Pshemo

标签: java string casting type-conversion double


【解决方案1】:

第一个版本 - String result = "" + aString result = "" + a.toString(); 相同。每当有 String + Object 的串联时,就会调用 toString 方法。

这里的最佳做法是什么?什么更适合你。我可能会选择第一个版本。

如果您担心两者的性能 - 纸上的String result = a.toString(); 会更快,因为您不需要创建/获取一个空字符串来创建一个新字符串。但是,与 Java 中的许多东西一样,这样的东西很可能会被 JIT 编译器优化,所以我不会太担心。即使不是这样,您也不应该过早地担心优化 - 如果您的代码运行缓慢,那么通常会有比这更大的问题。

【讨论】:

    【解决方案2】:

    我认为第二种选择更好,因为字符串的串联会消耗更多的内存。由于字符串是不可变对象,在第一种方式中,您的内存浪费在存储 Double 对象上+ 两个字符串对象。

    但是在第二个选项中它只创建一个新的字符串对象。所以在你的记忆中只有一个双对象+一个字符串对象。

    【讨论】:

      猜你喜欢
      • 2012-11-17
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      相关资源
      最近更新 更多