之前的项目中,在Socket通信的时候需要传int类型的值,不过java中outputsteam貌似不能直接传int类型,只能传byte[],所以在这里记录一下int和byte[]互转的方法。
1
2
3
4
5
6
7
8
9
10
11
|
/**
* int转byte[]
*/
public static byte [] intToBytes( int i) {
byte [] bytes = new byte [ 4 ];
bytes[ 0 ] = ( byte ) (i & 0xff );
bytes[ 1 ] = ( byte ) ((i >> 8 ) & 0xff );
bytes[ 2 ] = ( byte ) ((i >> 16 ) & 0xff );
bytes[ 3 ] = ( byte ) ((i >> 24 ) & 0xff );
return bytes;
}
|
接收的时候再转一下即可
1
2
3
4
5
6
7
8
9
|
/**
* byte[]转int
*/
public static int bytesToInt( byte [] bytes) {
int i;
i = ( int ) ((bytes[ 0 ] & 0xff ) | ((bytes[ 1 ] & 0xff ) << 8 )
| ((bytes[ 2 ] & 0xff ) << 16 ) | ((bytes[ 3 ] & 0xff ) << 24 ));
return i;
}
|
以上所述是小编给大家介绍的在Java中int和byte[]的相互转换,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/zgcqflqinhao/article/details/53256862