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