我有一个使用继承的数组,我认为基本上有一个包含食物和饮料的数组,看起来像这样
allFoodAndDrink.add(new Food(parameters);
allFoodAndDrink.add(new Drink(parameters);
因此,食物和饮料类型都存储在名为 allFoodAndDrink
的零食数组中,但是当想要从某个起始索引到结束索引复制该数组时,我被告知要使用:
Arrays.copyOfRange();
但是当像这样使用它时:
int[] drink = Arrays.copyOfRange(allFoodAndDrink, 5, 10);
它会吐出错误,建议将其转换为 Arrays.copyOf()
当切换到它时,它会吐出另一个错误以恢复到上一个
任何想法
最佳答案
利用ArrayList#subList()
和 ArrayList#toArray()
:
int first = ...;
int last = ...;
Foods[] drink = new Foods[last - first];
allFoodAndDrink.subList(first, last).toArray(drink); // fill the array
关于java - 制作数组列表的副本而不循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15577081/