我被扫描使用了findBUGs第三方源代码(只是为了整合到它矿之前谨慎),并且发现以下警告:Findbugs警告:整数偏移32 - 这是什么意思?
long a = b << 32 | c
错误:整数移位通过32模式ID: ICAST_BAD_SHIFT_AMOUNT ,类型:BSHIFT, 类别:正确性
代码执行由 恒定量 0..31的范围外的整数偏移。这样做的效果是使用整数值 的低5位来决定移动多少。这 可能是不是想要的,并且 它至少混淆。
请问谁能解释一下上面的含义呢?
谢谢! (我在Java编程相当新手)
D'oh,你是对的,删除我的答案,并upmodded你的:) – 2009-06-21 07:41:02
你的答案的第一部分是不正确的。在Jave中,b << 32是b,而不是零。然而,第二个paragraåh是正确的。 – 2009-06-21 07:45:09