按位或运算的一种应用方式
2016-11-05 10:57
204 查看
java.nio.Buffer.java源码中有如下代码:
对
很好奇,如果我自己写,可能会写成
按位或运算,所以如果有一个数是负数,则结果也是负数,所以以上两种写法相同,不过第一种看起来更简单一些。
如果有对按位或运算(|)不清楚的,可以参看这篇文章。
static void checkBounds(int off, int len, int size) { if ((off | len | (off + len) | (size - (off + len))) < 0) throw new IndexOutOfBoundsException(); }
对
if ((off | len | (off + len) | (size - (off + len))) < 0)
很好奇,如果我自己写,可能会写成
if (off < 0 || len < 0 || (off + len) < 0 || (size- (off + len)) < 0)
按位或运算,所以如果有一个数是负数,则结果也是负数,所以以上两种写法相同,不过第一种看起来更简单一些。
如果有对按位或运算(|)不清楚的,可以参看这篇文章。
相关文章推荐
- 文件上传后Apusic应用服务器内存溢出并宕机的一种处理方式
- 抛砖引玉,孢子,一种另类的WP7第三方应用数据交换方式
- Laravel 即时应用的一种实现方式 Websocket
- Delphi 6/7调用.Net应用的一种折衷方式
- 一种偷懒方式实现心电图(Xfermode简单应用)
- 产品与服务--应用升级 - 腾讯Bugly - 一种愉悦的开发方式 _android anr_android anr分析_iOS崩溃日志分析平台
- 文件上传后Apusic应用服务器内存溢出并宕机的一种处理方式
- android 退出应用优雅的方式(新加一种)
- 一种 Dockerize 应用的简单方式
- 一种以standalone方式启动erlang应用的方法(守护进程)
- Android逆向之旅---爆破应用签名的一种全新高效方式(Native+服务器验证)
- 一种以standalone方式启动erlang应用的方法
- Android 自动完全组件(SocialTokenAutoComplete)—— 一种更友好的方式@某人在社交应用中
- 第五次作业——计算器(增加一种读取四则运算表达式的方式)
- 一种完全无侵入的换肤方式,支持插件式和应用内,无需重启Activity.
- 转52破解jiangwei212Android爆破应用签名的一种全新高效方式(Native+服务器验证)
- 在一个web 应用中,改变url无非是2种方式,一种是利用超链接进行跳转,另一种是使用浏览器的前进和回退功能
- 一种将快捷方式从开始菜单“常用应用”的中去除的方法
- Android App应用底部导航栏实现的一种方式
- REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式