java字符串数组合并,可以使用array.copy复制方法,如下代码:
1.Object.clone()
简单直接,只能对源数组完整地复制
2.Arrays.copyOf(T[] original, int newLength)
可以只复制源数组中部分元素,但复制的起始位置固定为0
3.Arrays.copyOfRange(T[] original, int from, int to)
可以指定复制的起始位置
4.System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
复杂,但可以将源数组中的部分元素复制到目标数组的指定位置(此方法最灵活,可实现上述1、2、3的功能)
package com.qiu.lin.he;
import java.text.ParseException;
import java.util.Arrays;
public class Ceshi {
public static void main(String[] args) throws ParseException {
String[] str1 = { "J", "a", "v", "a", "中" };
String[] str2 = { "如", "何", "把", "两", "个", "数", "组", "合", "并", "为",
"一", "个" };
int strLen1 = str1.length;// 保存第一个数组长度
int strLen2 = str2.length;// 保存第二个数组长度
str1 = Arrays.copyOf(str1, strLen1 + strLen2);// 扩容
System.arraycopy(str2, 0, str1, strLen1, strLen2);// 将第二个数组与第一个数组合并
System.out.println(Arrays.toString(str1));// 输出数组
}
}
运行结果如下:
1、2、3都具有一定的局限性(返回一个新的数组,无法将源数组中的元素复制到已存在的数组中),
故合并数组的操作只能通过System.arraycopy来完成。