看板 AndroidDev 關於我們 聯絡資訊
private ArrayBlockingQueue<Integer> iReadQueueArray = new ArrayBlockingQueue<Integer>(READBUF_SIZE, true); byte[] rbuf = new byte[256]; int data; Integer mdata; ret = iReadQueueArray.offer( Integer.valueOf( (rbuf[i]&0x000000FF) )); //-----------------------------------------------------------------------// mdata = (Integer)iReadQueueArray.poll(); if( mdata!=null ) { data = (int) (mdata.intValue()&0x000000FF); buf[i] = (byte) data; } //-----------------------------------------------------------------------// 我從USB讀到的資料rbuf放到iReadQueueArray中 然後再從iReadQueueArray讀出來 但會出現,在從iReadQueueArray中讀出來時,某個資料會出現底下的錯誤 E/AndroidRuntime( 1758): java.lang.NumberFormatException: Invalid int: "ffffffeb" 因為資料要放入Queue時,我有先把前三個bytes給清成0了 怎麼parse出來的結果會變成那麼奇怪呢? 請問這該怎麼解決這樣的情況呢? 感謝! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.198.202