par*_*y34 -2 java intellij-idea
我收到一条消息说我的情况总是正确的,直到现在它才出现,我没有改变任何东西.
这可能是真的吗?
int size = in.readableBytes();
if (size > 2){
byte sizeBytes = in.readByte();
int length = sizeBytes == 1 ? in.readUnsignedByte() : sizeBytes == 2 ? in.readUnsignedShort() : sizeBytes == 3 ? ((in.readUnsignedByte() & 0xFF) << 16) | ((in.readUnsignedByte() & 0xFF) << 8) | (in.readUnsignedByte() & 0xFF) : 0;
if (length != 0){
byte packetID = in.readByte();
if (size == length){
if (size >= 2){ // Condition is always true warning
System.out.println("Size >= 2");
out.add(new Packet(in, packetID));
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这不是一回事size > 2,它也可以是真正的大小== 2(也有相同的警告).这是一个错误还是这个条件实际上"永远都是真的"?
if (size >= 2)只有在评估外部条件时才会if (size > 2)评估true.
这意味着只有在尺寸大于2时才会评估它.但是如果大小大于2,则保证也大于或等于2,因此内部条件总是如此true,因此是没有意义的.
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |