我无法弄清楚为什么 stringList 的最后一个值(即 Banana)没有被打印出来或存储在 arrayForTheList 中。给定一个字符串列表,以相同的顺序返回一个包含相同字符串的数组list2Array( ["Apple", "Orange", "Banana"] ) -> {"Apple", "Orange", "Banana"}list2Array( ["Red", "Orange", "Yellow"] ) -> {"Red", "Orange", "Yellow"}list2Array( ["Left", "Right", "Forward", "Back"] ) -> {"Left", "Right", "Forward", "Back"}public String[] list2Array(List<String> stringList) { String[] arrayForTheList = new String[(stringList.size())]; for (int i = 0; i < stringList.size() ; i++) { arrayForTheList[i] = stringList.remove(0); System.out.println(arrayForTheList[i]); } return arrayForTheList;}
3 回答
MM们
TA贡献1886条经验 获得超2个赞
代替
for (int i = 0; i < stringList.size() ; i++)
到
for (int i = 0; i < arrayForTheList.length ; i++)
请记住,您的代码清楚List它作为参数接收的内容。
慕标5832272
TA贡献1966条经验 获得超4个赞
您不应该从List循环内部删除元素。如果必须,您可以清除List循环后的内容。
for (int i = 0; i < stringList.size() ; i++) {
arrayForTheList[i] = stringList.get(i);
System.out.println(arrayForTheList[i]);
}
stringList.clear();
炎炎设计
TA贡献1808条经验 获得超4个赞
您可以使用toArray()列表的方法简单地实现这一点。例如:
String[] arrayForTheList = (String[])stringList.toArray();
希望这可以帮助。
添加回答
举报
0/150
提交
取消
