java中byte, int的转换

来源:互联网 发布:centos zabbix 安装 编辑:程序博客网 时间:2024/06/05 16:33

int -> byte

可以直接使用强制类型转换: byte b = (byte) aInt;
这个操作是直接截取int中最低一个字节,如果int大于255,则值就会变得面目全非了。
对于通过InputStream.read()获取的int,可采用这个方法将值还原。

byte -> int

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

java 5.0之后引入了自动装箱和拆箱

byte a = 1;
int b = a;
编译器会自动转换成这个
int b = Integer.value(a);

原创粉丝点击