Java源码阅读-HashMap
【摘要】
static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= ...
-
static final int tableSizeFor(int cap) {
-
int n = cap - 1;
-
n |= n >>> 1;
-
n |= n >>> 2;
-
n |= n >>> 4;
-
n |= n >>> 8;
-
n |= n >>> 16;
-
return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
-
}
a|=b的意思就是把a和b按位或然后赋值给a 按位或的意思就是先把a和b都换成2进制,然后用或操作,相当于a=a|b a!=b的意思a不等于b
int features = 0;
features |= Feature.AutoCloseSource.getMask();
结果发现与常用的 += 之类是一样的。
boolean mark = Boolean.FALSE;
mark |= true; // mark = mark || true
同时,还有几个平时用的比较少的: &=、^=
mark &= true; // mark = mark && true
//^=(异或):相同为假,不同为真。
mark ^= true; // mark = mark ^= true
加一个百度到的详细说明的链接:http://blog.csdn.net/ziwen00
文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wxb880114/article/details/96142737
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)