int v = b & 0xFF; 这个是什么写法,什么意思。
问题描述:
for (byte b : src) {
int v = b & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
答
int v = b & 0xFF;
是位与,byte转int时,需要&0xff,补足前面的24位。因此如果byte是负数,转成int时可能会变成整数。