请问如何把两个字节数组合并成一个字节数组?

解决方案 »

  1.   

    System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
      

  2.   

    java里的数组在运行时是定长的,不能改变大小,所以要合并两个数组,只有在申请一个拥有这两个数组长度的数组,然后把值给它。
      

  3.   

    public class TestArrayCopy 
    {

    public static void main(String[]args)
    {
    int[]a = new int[100];
    int[]b = new int[100];
    for(int i=0;i<50;i++)
    {
    a[i]=i;
    }
    for(int i=0;i<50;i++)
    {
    b[i]=i+50;
    }
    System.arraycopy(b,0,a,50,50);
    for(int i=0;i<a.length;i++)
    {
    System.out.println(a[i]);
    }
    }
    }
      

  4.   

    int[] a = new int[50];
    int[] b = new int[50];
    for (int i = 0; i < 50; i++) {
    a[i] = i;
    }
    for (int i = 0; i < 50; i++) {
    b[i] = i + 50;
    }
    int []c = new int[a.length+b.length];
    System.arraycopy(a, 0, c, 0, a.length);
    System.arraycopy(b, 0, c, 50, b.length);
    //System.arraycopy(b, 0, a, 50, 50);
    System.out.println(java.util.Arrays.toString(c));
      

  5.   

    感觉楼主说的应该是字节数组,
    在io或字符,这两部分用的比较多,
    asByteBuffer(), 用这个方法能转换,
    不过正规的 sun jdk API中好象没有这个,
    正规的有asCharBuffer,....这些正好跟你要的相反,
    楼主要的话可以跟我说,我有他们的
    jar文件,你只要import就行了.
      

  6.   

    楼上的System.out.println(java.util.Arrays.toString(c));怎么搞?
      

  7.   

    错误提示:
    The method toString() in the type Object is not applicable for the arguments 
     (int[])
      

  8.   

    用ArrayList做不行吗?动态的 可以直接接收两个  然后再转这个或者干脆直接用就行
      

  9.   

    int[] a=new int[10];
    int[] b=new int[20];int[] c=new int[a.length+b.length];//生成可以容纳原始2个数组的空间
    System.arraycopy(a,0,c,0,a.length);//拷贝第一个数组
    System.arraycopy(b,0,c,a.length,b.length);//拷贝第二个数组
      

  10.   

    我觉得这种动态的,不确定大小的数组设计,还是用泛型比较方便,如ArrayList < T >