有两个字节数组一个是g_data,,一个是g_data2。我想把g_data2添加到g_data的后面,合成一个数组我不知道该怎么做
解决方案 »
- 一个奇怪的问题
- java字符串中英文分离(探讨字符串处理)
- throw和finally同时用的问题
- 单行源代码平均综合成本调查
- 急救swing 中窗口中的问题 -请大家帮忙(在线等待)
- applet不能浏览
- java编程如何得到.html文件?
- 关于操作符类型的转换。
- 有关SQLSERVER 2000的JDBC驱动的问题
- 求教大神为啥这里的getTime返回值不是毫秒数?
- Jmail 出错,msg.setRecipients(javax.mail.Message.RecipientType.To,address);//找不到符号 只能是javax.mail.Message.RecipientType
- 代码在内存中如何工作的,不知道我的理解对伐,请来看看。
public static void main(String args[]) {
int[] i1 = new int[] {1,2,3,4};
int[] i2 = new int[] {5,6,7};
int[] i3 = new int[i1.length+i2.length] ;
System.arraycopy(i1, 0, i3, 0, i1.length);
System.arraycopy(i2, 0, i3, i1.length, i2.length);
for (int i = 0; i < i3.length; i++) {
System.out.println(i3[i]);
}
}
byte[] b2=new byte[20];
for(int i=0;i<10;i++){
b1[i]=(byte)i;
}
for(int x=0;x<b2.length;x++){
b2[x]=(byte)x;
}
System.arraycopy(b2, 0, b1, 10, b2.length);
for(int i=0;i<b1.length;i++){
System.out.println(b1[i]);
}
1.用System的arraycopy
public static void main(String[] args) {
byte[] a = new byte[]{1,2,3};
byte[] b = new byte[]{4,5,6};
byte[] c = new byte[a.length+b.length];
System.arraycopy(a,0, c, 0, a.length);
System.arraycopy(b,0, c, a.length, b.length);
for(byte test : c) {
System.out.println(test);
}
}
2.用Apache的commons-lang包。这个包包含了N多的工具包,是我非常向大家推荐的。
下载地址:http://commons.apache.org/downloads/download_lang.cgi
代码如下:
public static void main(String[] args) {
byte[] a = new byte[]{1,2,3};
byte[] b = new byte[]{4,5,6};
a = ArrayUtils.addAll(a, b);
for(byte test : a) {
System.out.println(test);
}
}
把2个数组分别copy到新数组的指定位置
将字节数组原型为两字节之间的操作 (a & b) & 0xff
把两个data先转换成字符串.. 然后把两个字符串连接起来. 再用 getBytes( )方法分成字符数组.
2.
直接copy 到一个字符数组中去
实际上是本来有一个固定的数组g_data,而g_data2是通过for循环取道的,for循环取多少个不确定,每次都不一样,我想把for取道的每个数组都添加到g_data的后面合成一个大数组
public static void main(String[] args) {
byte[] g_data = new byte[]{1,2,3};
byte[] b = new byte[]{4,5,6};
for(byte g_data2 : b){
g_data = ArrayUtils.add(g_data, g_data2);
}
for(byte test : g_data) {
System.out.println(test);
}
}