【问题标题】:Does the Java compiler optimize type conversions when mixing numeric types?Java 编译器在混合数字类型时是否优化类型转换?
【发布时间】:2018-04-30 03:23:27
【问题描述】:

在下面的案例 1 和案例 2 之间,速度上会不会有任何差异(尽管很小)?

double total = 12.34
double percentage = 56.78;
double amount;

// Case 1:
amount = (100 - percentage) * total;

// Case 2
amount = (100.0 - percentage) * total;

Java 是否会在编译时自动将整数文字 (100) 转换为双精度数 (100.0)?

【问题讨论】:

  • 嗯,你可以反编译一下代码看看……

标签: java type-conversion integer double compiler-optimization


【解决方案1】:

反编译版本显示两种情况的输出相同。

但作为最佳实践,案例 2 将更具可读性和可理解性。

double d1 = 12.34D;
double d2 = 56.78D;

double d3 = (100.0D - d2) * d1;

d3 = (100.0D - d2) * d1;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-08
    • 2014-04-28
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    相关资源
    最近更新 更多