5
public static long checkedAdd(long a, long b) {
long result = a + b;
checkNoOverflow((a^b) < 0 | (a^result) >= 0);
return result;
}
Mi interessa perché logica booleana | è usato qui. Perché non usare condizionale cortocircuitato ||?Strana implementazione di Guava LongMath.checkedAdd
Come avresti scritto? –
checkNoOverflow ((a^b) <0 || (a^risultato)> = 0); – ZhekaKozlov
Non così raro nel codice che vuole evitare la ramificazione per motivi di prestazioni. – molbdnilo