public byte[] method(int var1)
{
if(var1 == ~L.length) //<- this
return a(i1, 0, false);
}
我将如何修复
if(var1 == ~L.length)
删除~
我必须将==
更改为!=
吗?
if(var1 != L.length)
谢谢这可能是这种类型的最后一个问题。
PS&GT。 感谢您帮助我解决以前的问题,比如
~(-1 + var1) < -1
至var1 > 1
~(var1 & 0x22) != -1
至(var1 & 0x22) != 0
~var1 < ~var2
至var1 > var2
答案 0 :(得分:2)
正如我之前所说,您可以将~x
替换为-x - 1
因此,if(var1 == ~L.length)
相当于if(var1 == -L.length - 1)
答案 1 :(得分:0)
如果它试图再次做2次补充技巧:
-var1 == L.length + 1
或
var1 + 1 == -L.length
(基本上使用~x == -(x+1) == -x - 1
)
另一种重写方法是:
var1 ^ L.length == -1