Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将两个java数组合并为一个_Java_Arrays - Fatal编程技术网

如何将两个java数组合并为一个

如何将两个java数组合并为一个,java,arrays,Java,Arrays,这就是我目前所拥有的 int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array int[] newInts = new int[startInts.length + endInts.len

这就是我目前所拥有的

int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array
int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array

int[] newInts = new int[startInts.length + endInts.length];
System.arraycopy(startInts, 0, newInts, 0, startInts.length);
System.arraycopy(endInts, 0, newInts, startInts.length, endInts.length);

myInts = newInts;
但这只是给我一个数字

它实际上并没有将两个数组合并为一个数组。任何关于如何做到这一点的帮助

解决方案 或

你应使用:

String[] both = ArrayUtils.addAll(first, second);

当ArrayUtils是Apache Commons Lang库中的一个类时,为什么不使用ArrayList的

ArrayList<String> a = new ArrayList<String>();
ArrayList<String> b = new ArrayList<String>();

a.add("a1");
a.add("a2");

b.add("b1");
b.add("b2");

ArrayList<String> c = new ArrayList<String>();
c.addAll(a);
c.addAll(b);

System.out.println(c.toString());
ArrayList a=新的ArrayList();
ArrayList b=新的ArrayList();
a、 添加(“a1”);
a、 添加(“a2”);
b、 添加(“b1”);
b、 添加(“b2”);
ArrayList c=新的ArrayList();
c、 阿道尔(a);
c、 阿道尔(b);
System.out.println(c.toString());

当然,如果你想从真正的
数组开始,那么你可以使用
数组将它们转换成
数组列表

方法

arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定的源阵列复制阵列,从开始 指定位置到目的地的指定位置 数组

查找所有函数集


编辑

int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array
int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array

这里您可能面临的问题是
startInts
endInts
是相同的,因此它不是上半部分和下半部分,只是上半部分和上半部分

在询问类似问题之前,请先进行搜索questions@KugathasanAbimaran没有答案,所以是的。@KugathasanAbimaran对这个问题没有真正明确的答案,这意味着没有真正的解决方案。你能参考这一点吗?这可能会对你有所帮助。我更喜欢本机操作系统java代码这给了我所有连接的东西,不是连接的事物的数组。有什么方法可以改变这个吗?我不知道你的意思。当我这样做时,它会加上array1.length+array2.length并返回元素总数。它不返回元素。例如,它返回这个:10而不是这个:1,2,3,4,5,6,7,8,9,10如果你看到我这样做的代码,问题是
起始点和
结束点都是一样的。所以你得到的数组的大小是起始点的两倍,比如
[endInts,endInts]
你是对的。我已经修复了它,我一定按了ctrl+z,没有注意到,但是我仍然没有得到想要的输出打印数组并检查
startInts
endInts
的数组值。哇,它工作了,我不敢相信这仅仅是一个简单的打字错误导致了所有错误的输出。非常感谢你指出我根本没有注意到这一点。解决方案在上面
ArrayList<String> a = new ArrayList<String>();
ArrayList<String> b = new ArrayList<String>();

a.add("a1");
a.add("a2");

b.add("b1");
b.add("b2");

ArrayList<String> c = new ArrayList<String>();
c.addAll(a);
c.addAll(b);

System.out.println(c.toString());
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array
int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array