今天在翻看JDK时候突然看到一个方法
/**
* Circularly decrement i.
*/
final int dec(int i) {
return ((i == 0) ? items.length : i) - 1;
}
这是关于一个循环递减的函数实现,技巧给满分,原因在于没有大家都会想到的溢出取模,因为在算术选择时候尽量避免取模运算,取模运算本质上就是不断的乘法试触,性能低。另外一种替代取模的思路就是位运算,如奇数偶数判断。