之前的项目中,在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