以下のコードでは、次の列挙型を使用しています。
public static enum PanelType
{
PAS8((byte)0xA6), PAS83((byte)0xA7);
private byte code;
private PanelType(byte code)
{
this.code=code;
}
public byte getCode(){
return code;
}
}
ただし、ここでメソッドで使用しようとすると:
for (PanelType type:PanelType.values())
{
if (decoded[3]==type.getCode())
return type;
}
メソッドに対して間違った値を返していますtype.getCode()
。166 ではなく -90 を返しています。これは私が期待しているものです。
FFFF FFFF FFFF FFA6 = -90 であることはわかっていますが、0xA6 が負の数として返されるのはなぜですか?