5
public static long checkedAdd(long a, long b) {
long result = a + b;
checkNoOverflow((a^b) < 0 | (a^result) >= 0);
return result;
}
私はなぜ論理的な論理的な|ここで使用されます。なぜ条件付き短絡||を使用しないのですか?Guavaの奇妙な実装LongMath.checkedAdd
あなたはそれを書かれているだろうか? –
checkNoOverflow((a^b)<0 ||(a^result)> = 0); – ZhekaKozlov
性能上の理由から分岐を避けたいコードでは珍しいことではありません。 – molbdnilo