数组长度不能变,定死了
这样吧
public Byte[] getBytes(int[] args)
{
Byte[] b=new Byte[20];
for(int i=0;i<args.length;i++)
{
b[i]=(Byte)args[i];
}
return b;
}
这样吧
public Byte[] getBytes(int[] args)
{
Byte[] b=new Byte[20];
for(int i=0;i<args.length;i++)
{
b[i]=(Byte)args[i];
}
return b;
}
{
public byte[] getBytes(int[] args)
{
byte[] b=new byte[20];
for(int i=0;i<args.length;i++)
{
b[i]=(byte)args[i];
}
return b;
}
public static void main(String[] args)
{
int[] a=new int[5];
a[1]=12;
test t=new test();
System.out.println(t.getBytes(a));
}
}
首先,如果int数值不在-128 -- 127之间呢?
其次,byte数组的长度完全可以用int数组的长度*4来确定,没必要定死
b[0]=(byte)(n>>24);
b[1]=(byte)(n>>16);
b[2]=(byte)(n>>8);
b[3]=(byte)n;
int len = args.length;
byte[] bs = new byte[len*4];
for(int i=0;i<len;i++){
System.arraycopy(int2byte(args[i]),0,bs,i*4,4);
}
return bs;
} public byte[] int2byte(int n){
byte[] b = new byte[4];
b[0]=(byte)(n>>24);
b[1]=(byte)(n>>16);
b[2]=(byte)(n>>8);
b[3]=(byte)n;
return b;
}