【发布时间】:2010-11-04 15:13:30
【问题描述】:
我正在使用 Findbugs 扫描第三方源代码(只是在集成到我的之前要小心),并发现以下警告:
long a = b << 32 | c
错误:整数移位 32 模式 id: ICAST_BAD_SHIFT_AMOUNT,类型:BSHIFT, 类别:正确性
代码执行整数移位 超出范围的恒定量 0..31。这样做的效果是使用整数值的低 5 位 来决定改变多少。这 可能不是预期的,并且 它至少令人困惑。
谁能解释一下上面的具体是什么意思?
谢谢! (我是Java编程的新手)
【问题讨论】: