[英]How do I combine the first element of 2 array together into a string array?
String quantityArray[] = GetStringArray(quantity);
String foodItemArray[] = GetStringArray(fooditems);
这是从 ArrayList 更改为字符串数组
int n1 = fooditems.size();
int n2 = quantity.size();
for(int s = 0; s<n1;s++){
totalFood[s] = quantityArray[s] + foodItemArray[s];
}
我无法让这个 totalFood[] function 工作,因为它只会让我的应用程序崩溃
public static String[] GetStringArray(ArrayList<String> arr) {
// declaration and initialise String Array
String str[] = new String[arr.size()];
// ArrayList to Array Conversion
for (int j = 0; j < arr.size(); j++) {
// Assign each value to String array
str[j] = arr.get(j);
}
return str;
}
弹出的错误是(尝试写入null数组)
您需要确保分配了totalFood
数组。
Arrays 本身就是Object
中的 Object 。
例如:
totalFood = new String[n1];
这是因为根据您看到的错误, totalFood
似乎是null
。 您需要为要存储的连接产生的String
分配一些空间(对于上面的示例, n1
引用是精确的)。 您可以在此处查看相应的 Java 教程。
还要确保n1
等于n2
,它也应该等于totalFood
数组的大小,以免在循环中超出它们中的任何一个。
最后,有 2 个方便的Collection#toArray
方法可以完成您在GetStringArray
方法中所做的工作。 例如,您可以像这样使用它:
String quantityArray[] = quantity.toArray(new String[quantity.size()]);
使用toArray
方法似乎与问题无关,但为了完整起见,我只是提一下。
public static String[] GetStringArray(ArrayList<String> arr) {
String str[] = new String[arr.size()];
for (int j = 0; j < arr.size(); j++) {
str[j] = arr.get(j);
}
return Arrays.stream(str).filter(s -> s!=null).toArray(String[]::new);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.