为什么两个字节上的异或运算符会产生一个 int?
//key & hash are both byte[]
int leftPos = 0, rightPos = 31;
while(leftPos < 16) {
//possible loss of precision. required: byte, found: int
key[leftPos] = hash[leftPos] ^ hash[rightPos];
leftPos++;
rightPos--;
}
为什么在 Java 中对两个字节进行按位运算会返回一个 int?我知道我可以把它放回字节,但这似乎很愚蠢。