private int getFlag(List[I] flags) {
int result = 0;
if (flags == null) {
return 0;
}
for (Integer flag : flags) {
result |= 1
在取出列表时,则:
private List[I] toFlagList(int flag) {
List[I] result = new ArrayList();
for (int i = 0; i >> i) & 1) == 1) {
result.add(i);
}
}
return result;
}
这种写法,我个人觉得,在存储数值较多的列表时还不错,就是代码可读性不好(对于平时不怎么使用到位运算的同事),此外,这种时间换空间的方式,是否收效甚微呢?( id 列表值不多,就一个下拉框,在可预见的未来应该也不会超过 10 个)想问下各位是否也有在项目中这样写的经验?