緩衝區是一個字節緩衝區。我用這個丟失了percision錯誤。用十六進制表示的Java中的字節數
byte myPort = buffer.get(0); // Might need to change this depending on byte order
switch(myPort){
case 0xF1: // Chat service
break;
case 0xF2: // Voice service
break;
case 0xF3: // Video service
break;
case 0xF4: // File transfer service
break;
case 0xF5: // Remote login
break;
}
顯然,0xFF的不是Java中的字節,其真正困惑我。我不知道如果我失去它,但不是0xF一個半字節和0xFF一個字節?顯然,我的ide netbeans允許字節值一直到127.這似乎是有符號值的問題,但我不知道爲什麼。
感謝您的任何幫助。
而你在哪裏得到這個錯誤沒有無符號的數據類型的一些良好的背景信息?另外,我沒有在代碼中看到'0xFF'的使用。代碼是否完整? –
我遇到0xF1等錯誤。案件給我的錯誤。這不是整個代碼,而是它的唯一相關部分。 –
這是因爲你的值'0xF1'不在字節範圍內 - '[-128,127]'。 Java中的字節被簽名。 「0xF1」等於「241」。 –