java中byte[]转换成int

2024-11-26 02:44:48
推荐回答(2个)
回答1:

java中byte转换为 int有两种情况,一种是要求保持值不变,例如进行数值计算,可采用强制类型转换:int i = (int) aByte;
另一种是要求保持最低字节中各个位不变,3个高字节全部用0填充,例如进行编解码操作,
则需要采用位操作:int i = b & 0xff;

int InputStream.read()
该函数返回一个int类型,范围从0至255,如果到达流末尾,返回-1。通过ByteArrayInputStream的源码可以看到是如何从byte转到int
public synchronized int read() {
return (pos < count) ? (buf[pos++] & 0xff) : -1;
}

注意,不是自动转的,需要强制做处理。

回答2:

你可以用StringTokenizer,
StringTokenizer t = new StringTokenizer("[:.]");
意思是说以""内的所有字符区分获得的a里的字符段.
然后用
while(t.hasMoreToken){
Sting b = t.nextToken;
}
获得不同的b分别对应00,20,19