java - 返回数字时是否应明确指定返回类型?

标签 java performance

考虑一些返回double 的方法。在某些情况下,我需要返回默认的零值。我可以明确地将其指定为 return 0d,但 java 允许我们将其指定为 return 0 并自动转换。

这种转换发生在编译时还是运行时?不指定类型是否有任何潜在的负面影响(例如性能)?

最佳答案

它叫做 widening primitive conversion .没有理由在 0 上使用 0d:它是 constant expression ,因此编译器会自动将其转换为 0d

如果您查看返回 0 与返回 0d 的字节码:

double a() { return 0; }
double b() { return 0d; }

你可以看到它完全一样:

  double a();
    Code:
       0: dconst_0
       1: dreturn

  double b();
    Code:
       0: dconst_0
       1: dreturn

因此不会有任何性能差异。

关于java - 返回数字时是否应明确指定返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690857/

相关文章:

Javafx如何跨行?

大型数据库的MySQL内存使用

performance - 有人可以建议我如何测试或基准测试 apache Storm 吗?

python - Python 中的基准测试 : Why does my code run slower with repetition?

Julia 中 for 循环的性能

java - Android 上更详细的 ListView ?

java - 将 AnimatorSet 添加到动态创建的 FragmentTransaction

java - 实用程序类的静态方法与非静态方法的性能

java - 打开应用程序, map 放大到当前位置

java - 错误: Could not find or load main class Tool