在Java中比较2个原语的最有效方法?

Mah*_*iad -5 java optimization performance logic micro-optimization

哪个代码更好或优化或有效?

double a;
double b;

if (a == b)
  return true;
Run Code Online (Sandbox Code Playgroud)

要么

if (a - b == 0)
   return true; 
Run Code Online (Sandbox Code Playgroud)

Bat*_*eba 7

a % b == 0并不意味着a平等b.所以编译器无法优化它.

至于其他两个,你应该使用a == b它更清楚,并将优化留给编译器.