我正在使用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来构建项目。
答案 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);