如何在Java中连接两个字符串数组

时间:2014-04-24 17:14:24

标签: java concatenation arrays

我正在使用JDK 1.7和Eclipse并尝试连接两个字符串数组:

String [] a1 = { "a12", "b12" };
String [] a2 = { "c12", "d23", "ewe", "fdfsd" };

我试过了

String[] both = ObjectArrays.concat(a1,a2,String.class); 

导入

import com.google.common.collect.ObjectArrays;

得到错误:

can not resolve "import com.google.common.collect.ObjectArrays"

有人可以帮忙吗?我正在使用Maven来构建项目。

7 个答案:

答案 0 :(得分:7)

import类型不够。在编译代码时,您需要在类路径上实际提供该类型。

似乎

can not resolve "import org.apache.commons.lang3.ArrayUtil"

就像你没有在类路径中提供包含上述类型的jar

答案 1 :(得分:3)

另外,你也可以这样做

    String[] a3 = Arrays.copyOf(a1, a1.length + a2.length);
    System.arraycopy(a2, 0, a3, a1.length, a2.length);

答案 2 :(得分:2)

此代码应该有效。不像ArrayUtils.addAll()那么漂亮,但功能齐全。您还可以避免导入任何内容,并且您不需要为一个功能发送第三方库。

String[] both = new String[a1.length + a2.length];
System.arraycopy(a1,0,both,0, a1.length);
System.arraycopy(a2,0,both,a1.length + 1, a2.length);

答案 3 :(得分:1)

下载common.codec-1.9.jar(下载zip并解压缩,您将找到jar文件)然后如果您使用的是IDE

蚀:

1.右键单击您的项目。

2.选择属性。

3.在左侧单击java build path。

4.在Libraries选项卡下,单击Add External Jars按钮。

5.选择下载的文件,然后单击“确定”

Netbeans:

1.右键单击您的项目。

2.选择属性。

3.在左侧单击Libraries。

4.在“编译”选项卡下 - 单击“添加Jar /文件夹”按钮。

答案 4 :(得分:1)

将正确的Maven依赖项添加到您的POM:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.3.2</version>
</dependency>

答案 5 :(得分:0)

为什么不进行for循环并将所有元素存储到一个String然后使用.split?

String result = null;
for(String aux : a1){
   final += aux + ";";
}

for(String aux1 : a2){
   final += aux1 + ";";
}
String[] finalArray= result.split(";");

我从论文中做到了这一点,但我几乎可以肯定它会起作用;)

答案 6 :(得分:0)

我发现避免arrayCopy()和copyOf()中所有startingIndex和endingIndex参数的最简单方法是编写一个特定的方法(这很简单):

public static String[] concatTwoStringArrays(String[] s1, String[] s2){
    String[] result = new String[s1.length+s2.length];
    int i;
    for (i=0; i<s1.length; i++)
        result[i] = s1[i];
    int tempIndex =s1.length; 
    for (i=0; i<s2.length; i++)
        result[tempIndex+i] = s2[i];
    return result;
}//concatTwoStringArrays().

所以这里是concatTwoStringArrays()方法的用法:

String[] s3 = concatTwoStringArrays(s1, s2);