[問題] Queue的poll回值錯誤?

看板AndroidDev作者 (藍星)時間13年前 (2013/01/25 18:14), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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
文章代碼(AID): #1H0bhi8N (AndroidDev)
文章代碼(AID): #1H0bhi8N (AndroidDev)