看到有人写了一段这样的代码,不知道是什么意思,也不知道为什么这样作,有什么用用意? 代码如下:
private int metainfo;public void set(int mask, boolean set) {
if (set) {
metainfo |= mask;
} else {
metainfo &= ~mask;
}
}public boolean set(int mask) {
return (metainfo & mask) != 0;
}
private int metainfo;public void set(int mask, boolean set) {
if (set) {
metainfo |= mask;
} else {
metainfo &= ~mask;
}
}public boolean set(int mask) {
return (metainfo & mask) != 0;
}
metainfo &= mask;
这些是位操作符就像是 1 | 2 其实就是 00000001 | 00000010 = 00000011 -->3
1 & 2 = 0
metainfo =metainfo| mask
|是或运算符
第一个方法是设定.第二个方法读.
第一个方法还包含了初始化.
而且读指定的多个属性时,如果用BOOL要比较多次.