问题
is there anything like this in JDK or Apache Commons (or in other jar)?
/**
* Return the integer positive value of the byte. (e.g. -128 will return
* 128; -127 will return 129; -126 will return 130...)
*/
public static int toPositiveInt(byte b) {
int intV = b;
if (intV < 0) {
intV = -intV;
int diff = ((Byte.MAX_VALUE + 1) - intV) + 1;
intV = Byte.MAX_VALUE + diff;
}
return intV;
}
回答1:
Usually, you use some basic bit manipulation for this:
public static int toPositiveInt(byte b) {
return b & 0xFF;
}
And because it is so short, it is usually inlined and not called as a method.
来源:https://stackoverflow.com/questions/2640946/byte-topositiveint-method