有两个字节数组一个是g_data,,一个是g_data2。我想把g_data2添加到g_data的后面,合成一个数组
我不知道该怎么做
12 个解决方案
#1
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]);
}
}
#2
把两个data先转换成字符串..
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
#3
byte[] b1=new byte[30];
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]);
}
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]);
}
#4
你可以这样,不要用两个字节数组,直接用一个list,把你需要的元素都add到list中,然后toArray(),返回一个字节数组
#5
两种方法:
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);
}
}
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);
}
}
#6
数组的copy 方法
把2个数组分别copy到新数组的指定位置
把2个数组分别copy到新数组的指定位置
#7
看你要怎么合并 纯粹追加就不多说了 否则一般位操作可以满足
将字节数组原型为两字节之间的操作
(a & b) & 0xff
将字节数组原型为两字节之间的操作
(a & b) & 0xff
#8
1.
把两个data先转换成字符串..
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
2.
直接copy 到一个字符数组中去
把两个data先转换成字符串..
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
2.
直接copy 到一个字符数组中去
#9
我没说的太明白
实际上是本来有一个固定的数组g_data,而g_data2是通过for循环取道的,for循环取多少个不确定,每次都不一样,我想把for取道的每个数组都添加到g_data的后面合成一个大数组
实际上是本来有一个固定的数组g_data,而g_data2是通过for循环取道的,for循环取多少个不确定,每次都不一样,我想把for取道的每个数组都添加到g_data的后面合成一个大数组
#10
用我给你说的第二中方法。代码如下:
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);
}
}
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);
}
}
#11
谢谢大家,回帖这么快
我基本上都明白了,结帖了
我基本上都明白了,结帖了
#12
答: Kimi的方法好!顶一个。理由:在JDK本身的类库源代码中,当空间大小扩大时,经常采用的代码就是类似Kimi给出的代码。SUN都这样用,我们参考参考更应该了。
#1
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]);
}
}
#2
把两个data先转换成字符串..
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
#3
byte[] b1=new byte[30];
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]);
}
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]);
}
#4
你可以这样,不要用两个字节数组,直接用一个list,把你需要的元素都add到list中,然后toArray(),返回一个字节数组
#5
两种方法:
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);
}
}
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);
}
}
#6
数组的copy 方法
把2个数组分别copy到新数组的指定位置
把2个数组分别copy到新数组的指定位置
#7
看你要怎么合并 纯粹追加就不多说了 否则一般位操作可以满足
将字节数组原型为两字节之间的操作
(a & b) & 0xff
将字节数组原型为两字节之间的操作
(a & b) & 0xff
#8
1.
把两个data先转换成字符串..
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
2.
直接copy 到一个字符数组中去
把两个data先转换成字符串..
然后把两个字符串连接起来.
再用 getBytes( )方法分成字符数组.
2.
直接copy 到一个字符数组中去
#9
我没说的太明白
实际上是本来有一个固定的数组g_data,而g_data2是通过for循环取道的,for循环取多少个不确定,每次都不一样,我想把for取道的每个数组都添加到g_data的后面合成一个大数组
实际上是本来有一个固定的数组g_data,而g_data2是通过for循环取道的,for循环取多少个不确定,每次都不一样,我想把for取道的每个数组都添加到g_data的后面合成一个大数组
#10
用我给你说的第二中方法。代码如下:
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);
}
}
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);
}
}
#11
谢谢大家,回帖这么快
我基本上都明白了,结帖了
我基本上都明白了,结帖了
#12
答: Kimi的方法好!顶一个。理由:在JDK本身的类库源代码中,当空间大小扩大时,经常采用的代码就是类似Kimi给出的代码。SUN都这样用,我们参考参考更应该了。