Я получаю сообщение о том, что мое состояние всегда верно, его не было до сих пор, и я ничего не изменил.
Может ли это быть правдой?
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));
}
}
}
}
Я думаю, что это не то же самое, что size > 2
, это также может быть истинный размер == 2 (который также имеет то же предупреждение). Это ошибка или это условие "всегда верно"?