您好我使用for
循环添加数组中的字符串。任何人都可以帮我解决下面显示错误的代码。
image = new String[] {"APP","FIELD","KYC"};
image2 = new String[] {"MEMORANDUM","ASSOCIATION"};
现在使用for循环或任何方法我需要相同的图像数组作为
image = new String[] {"APP","FIELD","KYC","MEMORANDUM","ASSOCIATION"};
答案 0 :(得分:6)
是的,这可以在没有循环的情况下实现。使用ArrayUtils.addAll(T[], T...)
String[] both = ArrayUtils.addAll(image, image2);
这是一个带有数组到/ List
转换的解决方案。
String[] image = new String[] {"APP","FIELD","KYC"};
String[] image2 = new String[] {"MEMORANDUM","ASSOCIATION"};
List<String> list = new ArrayList<String>(Arrays.asList(image));
list.addAll(Arrays.asList(image2));
String[] result = list.toArray(new String[]{});
System.out.println(Arrays.toString(result));
输出与您要求的输出相同。
正如梅纳建议的另一个解决方案可以是System.arraycopy
String[] image = new String[] {"APP","FIELD","KYC"};
String[] image2 = new String[] {"MEMORANDUM","ASSOCIATION"};
String[] result = new String[image.length + image2.length];
// copies an array from the specified source array
System.arraycopy(image, 0, result, 0, image.length);
System.arraycopy(image2, 0, result, image.length, image2.length);
// Now you can use result for final array
答案 1 :(得分:0)
使用以下代码
ArrayList<String> image = new ArrayList<String>();
image.add("APP");
image.add("FIELD");
image.add("KYC");
ArrayList<String> image2 = new ArrayList<String>();
image2.add("MEMORANDUM");
image2.add("ASSOCIATION");
image.addAll(image2);
for(String i:image){
System.out.println(i);
}
答案 2 :(得分:0)
Java默认情况下没有这样的util。你可以做的是使用System.arraycopy
public static void copy(Object[] a, Object... b) {
int alen = a.length;
int blen = b.length;
Object[] c = new Object[alen + blen);
System.arraycopy(a, 0, c, 0, alen);
System.arraycopy(b, 0, c, alen, blen);
return c;
}
您可能希望使用泛型
public static <T> void copy(T[] a, T... b) {
int alen = a.length;
int blen = b.length;
T[] c = (T[]) Array.newInstance(a.getClass(),alen + blen);
System.arraycopy(a, 0, c, 0, alen);
System.arraycopy(b, 0, c, alen, blen);
return c;
}
但如果您真的依赖于Arrays,那么所有这些都是必需的,但它会在程序流程中改变大小。重新考虑使用List<String>
,允许您存储字符串并将其扩展为frellly。
答案 3 :(得分:0)
public static void main(String[] args) {
String[] image = new String[] { "APP", "FIELD", "KYC" };
String[] image2 = new String[] { "MEMORANDUM", "ASSOCIATION" };
String[] image3 = new String[image.length+image2.length];
for (int i = 0; i <image.length; i++) {
image3[i] = image[i];
}
for (int i = image.length; i>=0 && i < image3.length; i++) {
image3[i] = image2[i-3];
}
//Check if image3 contains the elements you need.
for(String imageData:image3)
{
System.out.println(imageData);
}
}
这不是通用的解决方案。它只是解决了你的需求。你能详细说明你想做什么吗?