这两种情况不同

Ruc*_*era 2 java if-statement

我只是想,以下方案之间是否有任何性能明智的好处.

情况1

int x = 2;
boolean y = false;

if (x == 2) {
  y = true;
}
Run Code Online (Sandbox Code Playgroud)

案例2

int x = 2;
boolean y = (x == 2);
Run Code Online (Sandbox Code Playgroud)

我的想法是,案例1更具可读性.

Ósc*_*pez 6

性能上会有微小的微小差异(第一个版本if毕竟增加了一条额外的指令,但即使这样也可能被静态编译器或JIT编译器优化掉),但无论如何它都可以忽略不计.对于这种简单的情况,最好优化可读性,忘记微优化.