作者bluestar8783 (蓝星)
看板AndroidDev
标题[问题] Queue的poll回值错误?
时间Fri Jan 25 18:14:01 2013
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