Java 如何将2数组的第一个元素组合成字符串数组?
这是将ArrayList更改为字符串数组Java 如何将2数组的第一个元素组合成字符串数组?,java,android,arrays,Java,Android,Arrays,这是将ArrayList更改为字符串数组 String quantityArray[] = GetStringArray(quantity); String foodItemArray[] = GetStringArray(fooditems); int n1=fooditems.size(); int n2=数量.大小(); 对于(int s=0;s您需要确保分配了totalFood数组 数组本身就是Java中的对象s 例如: public static String[] G
String quantityArray[] = GetStringArray(quantity);
String foodItemArray[] = GetStringArray(fooditems);
int n1=fooditems.size();
int n2=数量.大小();
对于(int s=0;s您需要确保分配了totalFood
数组
数组本身就是Java中的对象
s
例如:
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;
}
这是因为根据您看到的错误,totalFood
似乎是null
。您需要为要存储在中的串联产生的字符串s分配一些空间(n1
引用,对于上面的示例更准确些)。您可以查看相应的Java教程
还要确保n1
等于n2
,这也应该等于totalFood
数组的大小,以避免超出循环中的任何数组
最后,有两种简便的方法可以完成您在GetStringArray
方法中所做的工作。您可以这样使用它:
totalFood = new String[n1];
使用toArray
方法似乎与问题无关,但我只是为了完整起见才提到它。公共静态字符串[]GetStringArray(ArrayList arr){
String quantityArray[] = quantity.toArray(new String[quantity.size()]);
字符串str[]=新字符串[arr.size()];
对于(int j=0;js!=null).toArray(字符串[]:::新建);
}
您在哪里分配totalFood
数组?您是如何初始化totalFoods数组的?我在代码中看不到这一点。是的,totalFood是个问题,所以在初始化后我使它工作了谢谢:)
String quantityArray[] = quantity.toArray(new String[quantity.size()]);
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);
}